Définition de méthode sans mot clé « Fonction » : une fonctionnalité ES6
Dans cet article, nous nous plongeons dans une observation inhabituelle : l'exécution réussie de une méthode objet sans le mot-clé "function". Ce comportement curieux a été rencontré dans certains navigateurs, nous laissant réfléchir sur ses origines et ses implications.
La définition de la méthode objet en question est :
var module = { foobar(arg1) { alert(arg1); } };
Dans la syntaxe JavaScript traditionnelle, cette méthode serait déclaré comme :
foobar: function(arg1) {}
Cependant, l'omission de « fonction » dans ce cas a soulevé des questions sur sa compatibilité et sa connexion potentielle à ES6 fonctionnalité.
Réponse
Oui, cette définition de méthode est une conséquence de la nouvelle syntaxe d'ES6 pour les méthodes objet. Dans ES6, une notation abrégée permet des définitions de méthodes plus concises sans le mot-clé « function ». Ceci est réalisé grâce à l'utilisation de fonctions fléchées, qui offrent une alternative simplifiée aux fonctions traditionnelles.
La spécification ECMAScript 6 indique ce qui suit concernant les définitions de méthode :
A property of an object can also refer to a function or a getter or setter method. var o = { property: function ([parameters]) {}, get property() {}, set property(value) {}, }; In ECMAScript 6, a shorthand notation is available, so that the keyword "function" is no longer necessary. // Shorthand method names (ES6) var o = { property([parameters]) {}, get property() {}, set property(value) {}, * generator() {} };
Par conséquent, la définition de méthode sans « fonction » est une syntaxe ES6 valide prise en charge par certains navigateurs. Cependant, comme indiqué dans la question initiale, cette fonctionnalité peut ne pas être universellement compatible avec les différentes versions de navigateur.
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!