Значения 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 автоматически.