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

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

javascriptconsole.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, но могущие вызвать у вас сомнения:

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

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

javascriptconsole.log(Boolean('0'));         // true
console.log(Boolean('false'));     // true
console.log(Boolean('NaN'));       // true
console.log(Boolean('null'));      // true
console.log(Boolean('undefined')); // true
Задание 1

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

javascriptlet test = Boolean(3);
alert(test);
Задание 2

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

javascriptlet test = Boolean(0);
alert(test);
Задание 3

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

javascriptlet test = Boolean(-1);
alert(test);
Задание 4

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

javascriptlet test = Boolean(-0);
alert(test);
Задание 5

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

javascriptlet test = Boolean(+0);
alert(test);
Задание 6

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

javascriptlet test = Boolean('abc');
alert(test);
Задание 7

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

javascriptlet test = Boolean('');
alert(test);
Задание 8

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

javascriptlet test = Boolean('0');
alert(test);
Задание 9

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

javascriptlet test = Boolean(true);
alert(test);
Задание 10

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

javascriptlet test = Boolean(false);
alert(test);
Задание 11

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

javascriptlet test = Boolean('true');
alert(test);
Задание 12

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

javascriptlet test = Boolean('false');
alert(test);
Задание 13

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

javascriptlet test = Boolean(null);
alert(test);
Задание 14

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

javascriptlet test = Boolean('null');
alert(test);
Задание 15

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

javascriptlet test = Boolean(undefined);
alert(test);
Задание 16

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

javascriptlet test = Boolean('undefined');
alert(test);
Задание 17

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

javascriptlet test = Boolean(NaN);
alert(test);
Задание 18

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

javascriptlet test = Boolean('NaN');
alert(test);
Задание 19

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

javascriptlet test = Boolean(3 * 'abc');
alert(test);
Задание 20

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

javascriptlet test = Boolean(Infinity);
alert(test);
Задание 21

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

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