Lors de l'appel d'une fonction constructeur avec le nouveau mot-clé, il est généralement supposé que la fonction renverra le nouveau créé objet. Cependant, dans des circonstances spécifiques, une valeur autre que this peut être renvoyée à la place.
En JavaScript, la condition exacte qui régit ce comportement est définie dans la propriété interne [[Construct]] de la spécification ECMAScript pour les objets fonction. Lorsqu'elle est appelée, cette propriété effectue les étapes suivantes :
Par conséquent, la valeur renvoyée par la fonction constructeur déterminera si l'objet nouvellement créé est renvoyé ou non :
Pour tester si l'objet nouvellement créé est vraiment différent de celui renvoyé par le constructeur, on peut vérifier : (new Foo() instanceof Foo) === faux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!