Maison >interface Web >js tutoriel >Pourquoi les méthodes objet ES6 fonctionnent-elles sans le mot-clé « function » ?

Pourquoi les méthodes objet ES6 fonctionnent-elles sans le mot-clé « function » ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-02 08:27:10304parcourir

Why Do ES6 Object Methods Work Without the

Comment fonctionne cette définition de méthode objet sans le mot-clé « function » ?

Vue d'ensemble

Cette question plonge dans un extrait de code intrigant qui définit un méthode objet sans utiliser le mot-clé "function". Comprendre cette syntaxe nécessite de se plonger dans l'introduction par ES6 d'une notation abrégée pour définir les méthodes.

Question

Pourquoi l'extrait de code suivant fonctionne-t-il dans certains navigateurs, malgré l'omission du mot-clé « function » ?

var module = {
    foobar(arg1) {
        alert(arg1);
    }
};

module.foobar("Hello World");

Réponse

La réponse réside dans l'introduction par ES6 d'une notation abrégée pour définir les méthodes objet. Selon la spécification ECMAScript 2015 :

"Une propriété d'un objet peut également faire référence à une fonction ou à une méthode getter ou setter."
var o = {
  property: function ([parameters]) {},
  get property() {},
  set property(value) {},
};

ES6 a introduit une notation abrégée qui supprime le nécessité du mot-clé "fonction":

// Shorthand method names (ES6)
var o = {
  property([parameters]) {},
  get property() {},
  set property(value) {},
  * generator() {}
};

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn