У меня очень простой вопрос. Теперь в консоли я тренируюсь некоторые "арифметику", как:Пустой объект минус/плюс пустой объект и обратное значение
false + true // 1
Таким образом, возникает вопрос, почему:
[] - {} // NaN
и
{} - [] // -0
Может кто-нибудь объяснить это, потому что оба эти типа являются объектами. И я знаю, что javascript имеет действительно и фальшивые ценности. Таким образом, если мы возьмем
Boolean({}) // true
Boolean([]) // true
в обоих мы имеем true
, и я думаю, что результат будет как:
true + true // 2
или
true - true // 0
'{} - []' 'должны быть NaN'. –
@SpencerWieczorek почему? Я думаю, что это должно быть 1 – AleshaOleg
Потому что '+ {}' является 'NaN'. Когда я делаю 'console.log ({} - [])' результат - это 'NaN', по крайней мере, в Chrome. –