Powiel możliwe:
What is the explanation for these bizarre JavaScript behaviours mentioned in the 'Wat' talk for CodeMash 2012?Dlaczego {} + [] zwraca 0 w JavaScript?
Wiem, że kiedy []
jest zmuszany do łańcucha zwraca pusty ciąg (""
), a gdy {}
jest zmuszany do łańcucha zwraca "[object Object]"
.
Kiedy biegnę [] + {}
w konsoli JavaScript przeglądarki, to powraca jak bym się spodziewał:
>> [] + {}
"[object Object]"
Ale kiedy biegnę {} + []
, zwraca zupełnie nieoczekiwaną wartość:
>> {} + []
0
co mogłoby powodować, że zwróci 0
?
Wygląda na to, że dodajesz wartość null do wartości null. Byłoby to równoważne 0 + 0. Ale to tylko przypuszczenie. – Trisped
@Tisped: żadna z nich nie ma wartości NULL. – SLaks
To pytanie jest zawarte w http://stackoverflow.com/questions/9032856/what-is-the-explanation-for-these-bizarre-javascript-beavavours- mentioned-in-the (które od teraz ma 301 głosów) ..... –