2012-01-10 3 views
3

Ci-dessous un extrait de Google Developer ConsolePourquoi typeof Object, String, Number ... -a fonction Javascript

typeof Object // type of Object is function (most confusing part). 
"function"  //Same fot all build-in types 

Object.constructor 
function Function(){[native code]}// Why not function Object()? 

Object.hasOwnProperty("create") // Here, it is Object since it has property,not typeof  
"true"        function 


dir(Object) // Again, Object is object,it has property (method) 
function Object() { [native code] } 

Pourquoi typeof objet n'est pas l'objet? Et pourquoi Object.constructor n'est pas une fonction Object()?

Merci MIRO

Répondre

7

Les identifiants Object, String, etc ne sont pas « les noms de classe » que vous avez pu voir dans d'autres langues. Ils ne sont pas instances du type spécifique. Seul, est le constructeur pour un "Object", c'est-à-dire une référence à une fonction. Pour compliquer davantage les choses, les fonctions Javascript sont aussi des objets, qui peuvent avoir des propriétés. Ces propriétés sont souvent utilisées pour ajouter méthodes aux objets.