Давайте теперь изучим преобразование других
типов данных к логическому. Такое преобразование
осуществляется с помощью функции 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);