Voici ma compréhension de la spec.
Ce:
var bird = new Bird();
...les résultats dans un Objet natif qui, tout simplement, qui est arrivé à être créé à l'aide de l' new
de l'opérateur.
Objets natifs interne [[Catégorie]] de la propriété de l'une des opérations suivantes:
"Arguments", "Tableau", "Boolean", "Date", "Erreur", "Fonction", "JSON", "Mathématiques", "Nombre", "Objet", "RegExp", et la "Chaîne".
Pour votre bird1
il sera:
"Objet"
Tout comme si vous créez une fonction:
function my_func() {
// ...
}
...my_func
n'est pas défini dans ECMAScript, mais il est encore un objet natif avec l'intérieur de l' [[Catégorie]]:
"Fonction"
Une foule d'objet est un objet fourni par l'environnement, dans le but de servir un but précis pour que l'environnement ne sont pas définis dans le cahier des charges.
Par exemple:
var divs = document.getElementsByTagName('div')
L'objet référencé par divs
est une NodeList, qui est intégré dans l'environnement de telle manière qu'il se sent comme un objet JavaScript, mais elle n'est pas nulle part défini par la spécification.
Son intérieur [[Catégorie]] propriété est:
"NodeList"
Cette offre de mise en œuvre de designers une certaine souplesse dans l'habillage, la mise en œuvre aux besoins spécifiques de l'environnement.
Il y a des exigences de l' hôte objets qui sont définis dans la spécification.
4 votes
Les objets natifs sont définis dans la spécification ECMAScript, les objets hôtes ne le sont pas.
7 votes
Un élément DOM -- disons,
new Image()
-- est un objet hôte, par exemple.0 votes
@ŠimeVidas : Y a-t-il une raison pour laquelle vous avez laissé un commentaire qui contredit votre réponse ?
0 votes
C'est mon truc maintenant.
:)
0 votes
Mais je ne vois pas de contradiction...
1 votes
@ŠimeVidas : Votre commentaire indique que les objets hôtes ne sont pas définis dans la spécification ECMAScript . Votre réponse est la suivante "Les définitions pour les deux sont dans la spécification ECMAScript" .
0 votes
@_._ J'ai modifié ma réponse. Je pense qu'elle est acceptable maintenant...
0 votes
Spectacle vivant : standard - "objet dont la sémantique est définie par [la spécification]". ; intégré - "objet spécifié et fourni par une implémentation [ES]" ("Les objets intégrés standard" sont essentiellement des "objets standard") ; natif -utilisé par exemple pour fonctions et des erreurs ; hôte - "Chaque navigateur et serveur Web qui prend en charge [ES] fournit son propre environnement hôte, complétant ainsi l'environnement d'exécution [ ]". .
0 votes
Je vois les quatre termes dans cette hiérarchie : standard forment le base de JavaScript ; hôte sont "au-dessus" de cette base et dépendent de l'environnement ou de la mise en œuvre spécifique ; ensemble, ils forment le système intégré qui fournissent le contexte pour le code de l'utilisateur. intégré et natif semblent être des synonymes.