Loading content/handbook/engineering/architecture/design-documents/gitlab_steps/expression-language.md +22 −3 Original line number Diff line number Diff line Loading @@ -530,9 +530,28 @@ The comparison operators `<`, `<=`, `>`, and `>=` can compare any types. When co - **numbers**: Numeric comparison - **strings**: Lexicographic comparison (UTF-8 byte order) - **booleans**: `false < true` - **arrays**: Unsupported - **objects**: Unsupported - **null**: Unsupported - **arrays**: Compares elements in order; an array with fewer items is less than an array with more items - **objects**: Compares elements in sorted key order; an object with fewer items is less than an object with more items - **null**: All null values are equal 2. **Different type comparisons**: When comparing values of different types, types are ordered as follows: - `null` - `boolean` - `number` - `string` - `array` - `object` For example: ```js null < true // true (null has order 0, boolean has order 1) 42 < "hello" // true (number has order 2, string has order 3) [1,2,3] > "text" // true (array has order 4, string has order 3) ``` ##### Short-circuit evaluation Loading Loading
content/handbook/engineering/architecture/design-documents/gitlab_steps/expression-language.md +22 −3 Original line number Diff line number Diff line Loading @@ -530,9 +530,28 @@ The comparison operators `<`, `<=`, `>`, and `>=` can compare any types. When co - **numbers**: Numeric comparison - **strings**: Lexicographic comparison (UTF-8 byte order) - **booleans**: `false < true` - **arrays**: Unsupported - **objects**: Unsupported - **null**: Unsupported - **arrays**: Compares elements in order; an array with fewer items is less than an array with more items - **objects**: Compares elements in sorted key order; an object with fewer items is less than an object with more items - **null**: All null values are equal 2. **Different type comparisons**: When comparing values of different types, types are ordered as follows: - `null` - `boolean` - `number` - `string` - `array` - `object` For example: ```js null < true // true (null has order 0, boolean has order 1) 42 < "hello" // true (number has order 2, string has order 3) [1,2,3] > "text" // true (array has order 4, string has order 3) ``` ##### Short-circuit evaluation Loading