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

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

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

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

Как вы видите, значение true преобразуется в строку 'true', а значение false - в строку 'false'.

То есть при попытке сложения строки и логического значения, это логическое значение преобразуется в строку и произойдет сложение строк:

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

Давайте теперь рассмотрим преобразования к числу:

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

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

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

Пример:

alert(true + 1); // выведет 2

Еще пример:

alert(true + true); // выведет 2

А теперь сложим логическое значение с числом в кавычках (такое число является строкой):

alert(true + '1'); // выведет 'true1'

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

alert(true + 3);

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

alert(true + true);

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

alert(true - true);

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

alert(true + false);

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

alert('1' + true);

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

alert( String(true) + 1 );

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

alert( String(true) + Number(true) );