Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

Почему [0] != “” и [] != “0” и [[]] != “0”?

Просто было бы логично если бы [0] == "" т.к. обе части приводятся к нулю.
Или ещё вопрос, почему [] != "0" и [[]] != "0" ведь тут так же обе части приводятся к нулю.
http://dorey.github.io/JavaScript-Equality-Table/
console.log(Number([0])); console.log(Number("")); console.log(Number([])); console.log(Number([[]])); console.log(Number("0"));


Ответ

обе части приводятся к нулю
Не приводятся. Массив приводится к строке, получаем две строки и сравниваются строки. А они, очевидно, разные. А вот если бы в правой части было число, то в сравнении строки и числа строка бы привелась к числу, из-за чего равенство бы выполнилось:
console.log([] == "") console.log([] == 0) console.log([] == "0") console.log([0] == "") console.log([0] == 0) console.log([0] == "0")

Комментариев нет:

Отправить комментарий