user1175687
user1175687

Reputation:

get the true type prototype vs constructor?

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 ?

Upvotes: 2

Views: 93

Answers (1)

user1106925
user1106925

Reputation:

1) Whom to believe ?

All 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.

Upvotes: 2

Related Questions