I wanted to see the real type of []
.
I always thought that i can use the apply method or the constructor .
so i tried :
[].constructor
->(showed me) function Array() { [native code] }
and
[].constructor.constructor
->(showed me) function Function() { [native code] }
and
Object.prototype.toString.apply([])
->(showed me) "[object Array]"
questions
1) Whom to believe ?
2)why line 2 is different ?
1) Whom to believe ?
ReplyDeleteAll of them. They're all correct
2) why line 2 is different ?
Because [].constructor is a function, and the .constructor of a function is the Function constructor.
The last line is giving you the internal [[Class]] property of the object. It is only accessible by setting the object as the context of the generic toString() method, which is only available on Object.prototype.