# Преобразование к логическому типу в 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);`
← →
↑
en ru