Преобразование к логическому типу в JavaScript

Давайте теперь изучим преобразование других типов данных к логическому. Такое преобразование осуществляется с помощью функции Boolean. Вот значения, которые при приведению к логическому типу дают false:

console.log(Boolean(0)); // false console.log(Boolean(-0)); // false console.log(Boolean(+0)); // false console.log(Boolean(null)); // false console.log(Boolean(false)); // false console.log(Boolean(NaN)); // false console.log(Boolean(undefined)); // false console.log(Boolean('')); // false

Все остальные значения в JavaScript (в других языках бывает не так) дают true. Вот значения, приводящиеся к true, но могущие вызвать у вас сомнения:

console.log(Boolean(-1)); // true console.log(Boolean(Infinity)); // true console.log(Boolean(-Infinity)); // true

Следующие значения являются строками, так как взяты в кавычки, и также приводятся к true:

console.log(Boolean('0')); // true console.log(Boolean('false')); // true console.log(Boolean('NaN')); // true console.log(Boolean('null')); // true console.log(Boolean('undefined')); // true

Не запуская код, определите, что выведется на экран:

let test = Boolean(3); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(0); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(-1); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(-0); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(+0); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean('abc'); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(''); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean('0'); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(true); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(false); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean('true'); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean('false'); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(null); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean('null'); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(undefined); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean('undefined'); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(NaN); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean('NaN'); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(3 * 'abc'); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(Infinity); alert(test);

Не запуская код, определите, что выведется на экран:

let test = Boolean(1 / 0); alert(test);