首頁 > web前端 > js教程 > 為什麼 ES6 物件方法在沒有「function」關鍵字的情況下也能運作?

為什麼 ES6 物件方法在沒有「function」關鍵字的情況下也能運作?

Susan Sarandon
發布: 2024-12-02 08:27:10
原創
303 人瀏覽過

Why Do ES6 Object Methods Work Without the

如果沒有「function」關鍵字,這個物件方法定義如何運作?

概述

這個問題深入研究了一個有趣的程式碼片段,它定義了一個不使用「function」關鍵字的物件方法。要理解這個語法需要深入研究 ES6 所引入的定義方法的簡寫符號。

問題

為什麼下面的程式碼片段在某些瀏覽器中可以工作,儘管省略了「function」關鍵字?

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

module.foobar("Hello World");
登入後複製

答案

答案就在ES6引入了簡寫用來定義物件方法的符號。根據ECMAScript 2015 規範:

「物件的屬性也可以引用函數或getter 或setter 方法。」
var o = {
  property: function ([parameters]) {},
  get property() {},
  set property(value) {},
};
登入後複製

ES6 引入了一種速記符號,刪除了「function」關鍵字的必要性:

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

以上是為什麼 ES6 物件方法在沒有「function」關鍵字的情況下也能運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板