# Returning Booleans

Returning Booleans
0

#1

Can somebody explain to me this function:

``````function(a, b) { return a - b };
``````

versus:

``````function(a, b) { return a > b};
``````

?

thank you!

#2

Assuming that both `a` and `b` are numbers, the first function returns a number. The second one returns boolean.
Suppose `a = 5` and `b = 3`. The first one will yield `2`. The second one will yield `true`.

#3

i assume u use this function for sorting?
if `a = 'a'` and `b = 'b'`
Then with first function it will return negative value
cause
`97-98 === -1`
then because it is negative it needs to be swaped

but also if u return false like in second case
`function(a, b) { return a > b};`
it is swaped because returned value is false

try here above in repl to change fourth line to `return false;` or `return undefined;`

it is equal
false to negative number
undefined to zero
true to positive number

Also if u donβt specify this function parameter to ur `.sort` function
then it will compare values by strings
etc if u have `[40, 100, 1, 5, 25, 10]` it will convert to `["40", "100", "1", "5", "25", "10"]`