javascript interview question #42

Как работает Math.max в JavaScript? Что будет выведено на экран?

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Функция Math.max() в JavaScript, принимает переменное количество аргументов и возвращает больший из них.

Если передать в Math.max несколько массивов, то они будут сначала преобразованы в строки, а потом в числа:

console.log(Math.max([ 0 ], [ 1 ])); // 1
console.log(Math.max("0", "1"));     // 1
console.log(Math.max(0, 1));         // 1

Также в числа будут конвертированы и значения логического типа. true станет единицей, а false нулём:

console.log(Math.max(true, false));  // 1
console.log(Math.max(0, 1));         // 1

Теперь условие внутри if можно упростить и убедиться, что мы попадаем в ветку else:

if (1 > 1) { // false
  console.log('array won');
} else {
  console.log('array lost');
}

ОТВЕТ: На экране появится строка array lost.