Cet article examine le cas curieux d'une définition de méthode objet sans le mot-clé « fonction ». Bien que cela puisse ressembler à une erreur de codage, cela peut en réalité fonctionner dans certains navigateurs grâce à l'introduction d'une nouvelle fonctionnalité ES6.
Comment ça marche ?
Dans ECMAScript 6 (ES6), une notation abrégée a été introduite pour les définitions de méthodes dans les objets. Cette notation élimine le besoin du mot-clé « function », comme le montre l'exemple ci-dessous :
// Shorthand method names (ES6) var o = { property([parameters]) {}, get property() {}, set property(value) {}, * generator() {} };
Prise en charge des navigateurs
Cette notation abrégée est prise en charge dans les navigateurs modernes comme Chrome, mais pas dans les navigateurs plus anciens comme Internet Explorer 11. C'est pourquoi l'exemple fourni dans la question fonctionne dans Chrome mais échoue dans IE 11.
Est-ce un bug ou une fonctionnalité ?
Ce comportement est le résultat de l'implémentation d'ES6 dans les navigateurs modernes. Ce n'est pas un bug mais plutôt une fonctionnalité prévue qui permet des définitions de méthodes objet plus concises et lisibles.
Conclusion
La possibilité de définir des méthodes objet sans la "fonction" Le mot-clé est une fonctionnalité notable d'ES6 qui simplifie le code et améliore la lisibilité. Bien qu'il ne soit pas pris en charge dans tous les navigateurs, il devient de plus en plus courant dans le développement JavaScript moderne.
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!