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

Сейчас мы рассмотрим, как ведут себя специальные значения true и false при преобразовании их к строкам или числам. Эти знания вам потребуются в следующих уроках.

Итак, попробуем выполнить преобразование к строке, используя функцию String:

javascriptalert(String(true));  // выведет 'true'
alert(String(false)); // выведет 'false'

Как вы видите, значение true преобразуется в строку 'true', а значение false - в строку 'false'. To есть при попытке сложения строки и логического значения, это логическое значение преобразуется в строку и произойдет сложение строк:

javascriptalert('a' + true);    // выведет 'atrue'

При приведении к числу значение true преобразуется в число 1, а значение false - в число 0:

javascriptalert(Number(true));  // выведет 1
alert(Number(false)); // выведет 0

Во всех математических операциях логические значения вначале преобразуются к числу. Пример:

javascriptalert(true + 1);     // выведет 2
alert(true + true);  // выведет 2
Задание 1

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

javascriptalert(true + 3);
Задание 2

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

javascriptalert(true + true);
Задание 3

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

javascriptalert(true - true);
Задание 4

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

javascriptalert(true + false);
Задание 5

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

javascriptalert('1' + true);
Задание 6

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

javascriptalert( String(true) + 1 );
Задание 7

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

javascriptalert( String(true) + Number(true) );