Значения True и Falsy, Null или Undefined, двойное равенство (==) и тройное равенство (===), неявное преобразование
Правдивые и ложные значения:
JavaScript преобразует значения в логические значения, когда это необходимо, например, когда значение используется в условном выражении. Логические значения имеют значение TRUE и FALSE.
Истинные значения приведены ниже:
- ‘0’
- 'ЛОЖЬ'
- []
- {}
- пустая функция
Ложные значения приведены ниже:
- ЛОЖЬ
- 0
- -0
- Нулевой
- неопределенный
- NaN
Пример кода:
если (значение) {
// значение истинно
}
еще {
// значение ложно
}
Нулевой или неопределенный:
Undefined означает, что переменная была объявлена, но ей еще не присвоено значение. Null — это присваиваемое значение. Его можно присвоить переменной как представление отсутствия значения.
Пример кода:
пусть один = ноль
console.log(один) // ноль
пусть два = не определено
console.log(два) // не определено
Двойное равенство (==) против тройного равенства (===)
Операторы двойного равенства и тройного равенства работают точно так же, но оператор двойного равенства преобразует типы сравниваемых объектов в один и тот же тип. На первый взгляд это звучит хорошо, но может привести к странным ошибкам при сравнении определенных объектов/типов. Из-за этого оператор тройного равенства должен использоваться почти всегда, за исключением случая проверки, является ли объект нулевым или неопределенным.
Пример кода:
null == не определено // правда
null === не определено // ложь
Неявное преобразование
Приведение относится к преобразованию одного типа в другой, которое JavaScript выполняет в определенных операциях. Преобразование типа может быть явным и неявным. Javascript преобразуется в тип автоматически. Неявное преобразование выполняется возможной операцией javascript.
Пример кода:
пусть тест;
тест = '1' + 2;
console.log(тест) // «12»
тест = ‘1’ + правда;
console.log(тест); // «1 верно»
тест = ‘1’ + не определено;
console.log(тест); // «1не определено»
тест = ‘1’ + ноль;
console.log(тест); // «1нуль»
переменная часть = «99»/100; //деление строки не имеет смысла, поэтому число 99 автоматически.