Rumah >hujung hadapan web >tutorial js >Mengapa Kaedah Objek ES6 Berfungsi Tanpa Kata Kunci 'fungsi'?

Mengapa Kaedah Objek ES6 Berfungsi Tanpa Kata Kunci 'fungsi'?

Susan Sarandon
Susan Sarandonasal
2024-12-02 08:27:10374semak imbas

Why Do ES6 Object Methods Work Without the

Bagaimanakah definisi kaedah objek ini berfungsi tanpa kata kunci "fungsi"?

Ikhtisar

Soalan ini menyelidiki coretan kod yang menarik yang mentakrifkan kaedah objek tanpa menggunakan kata kunci "fungsi". Memahami sintaks ini memerlukan mendalami pengenalan ES6 tentang notasi trengkas untuk mentakrifkan kaedah.

Soalan

Mengapa coretan kod berikut berfungsi dalam sesetengah penyemak imbas, walaupun mengabaikan kata kunci "fungsi"?

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

module.foobar("Hello World");

Jawapan

Jawapannya terletak pada Pengenalan ES6 tentang notasi trengkas untuk mentakrifkan kaedah objek. Menurut spesifikasi ECMAScript 2015:

"Sifat objek juga boleh merujuk kepada fungsi atau kaedah pengambil atau penetap."
var o = {
  property: function ([parameters]) {},
  get property() {},
  set property(value) {},
};

ES6 memperkenalkan tatatanda trengkas yang mengalih keluar keperluan kata kunci "fungsi":

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

Atas ialah kandungan terperinci Mengapa Kaedah Objek ES6 Berfungsi Tanpa Kata Kunci 'fungsi'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn