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

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

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

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

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

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

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

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

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

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

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

`alert(true + 3);`

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

`alert(true + true);`

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

`alert(true - true);`

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

`alert(true + false);`

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

`alert('1' + true);`

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

`alert( String(true) + 1 );`

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

`alert( String(true) + Number(true) );`
←→
↑
en ru