Combined Comparison / "Spaceship" Operator (<=>) in Javascript? Combined Comparison / "Spaceship" Operator (<=>) in Javascript? ruby ruby

Combined Comparison / "Spaceship" Operator (<=>) in Javascript?


As far as I know there is no such operator in JavaScript but you can use Math.sign() function:

Math.sign(a - b);

NOTE: As was mentioned in comments, Math.sign() is not currently supported by all browsers. Check for compatibility (MDN).


from: http://sabrelabs.com/post/48201437312/javascript-spaceship-operator

improved version:

function spaceship(val1, val2) {  if ((val1 === null || val2 === null) || (typeof val1 != typeof val2)) {    return null;  }  if (typeof val1 === 'string') {    return (val1).localeCompare(val2);  } else {    if (val1 > val2) {      return 1;    } else if (val1 < val2) {      return -1;    }    return 0;  }}