JavaScript Array.sort default algorithm:
Sort callback: comparefn(a, b)
The sort must be stable (that is, elements that compare equal must remain in their original order). If
comparefnis not undefined, it should be a function that accepts two argumentsxandyand returns a negative Number ifx < y, a positive Number ifx > y, or a zero otherwise.
- ECMAScript Language Specification3
So the comparefn "expect" you to return negative number, zero, or positive number.
But you can return any other type without any error (runtime or default linter setting).
Firefox and Chromium/Node have a difference arguments order (reversed):
Left is firefox console, right is edge console.