Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: specify short-circuit evaluation semantics

...

Two special comparison operators are useful with the sort() operator: <=> and cmp. These operators return -1 if the first operand is less than the second, 0, if they're equal, and 1 if the first operand is greater than the second. The <=> operator is used with numbers and cmp is used with strings.

Code Block
languagejavascript
themeConfluence
x = 5; 
y = 6;
x <=> y // returns -1
x <=> x // returns 0
y <=> x // returns 1
p = "aab";
q = "abb";
a cmp b // returns -1
a cmp a // returns 0
b cmp a // returns 1

...

Code Block
languagejavascript
themeConfluence
not a
a && b
a || b
(a || b ) && not c

The operators && and || use short-circuit evaluation semantics

Code Block
val = arg || default

In the example code shown above, the name val is bound to the value of arg provided it is considered to be "true" and otherwise binds it to the value of default. This is similar to, but more general than, the universal operator defaultsTo except that the latter only applies when the value it is operating on is specifically null.