Definisi Kaedah Tanpa "Fungsi" Kata Kunci: Ciri ES6
Dalam artikel ini, kami menyelidiki pemerhatian luar biasa: kejayaan pelaksanaan kaedah objek tanpa kata kunci "fungsi". Tingkah laku ingin tahu ini telah ditemui dalam penyemak imbas tertentu, membuatkan kita memikirkan asal usul dan implikasinya.
Takrif kaedah objek yang dimaksudkan ialah:
var module = { foobar(arg1) { alert(arg1); } };
Dalam sintaks JavaScript tradisional, kaedah ini akan menjadi diisytiharkan sebagai:
foobar: function(arg1) {}
Walau bagaimanapun, peninggalan "fungsi" dalam keadaan ini telah menimbulkan persoalan tentang keserasiannya dan potensi sambungannya kepada fungsi ES6.
Jawapan
Ya, takrifan kaedah ini adalah akibat daripada sintaks baharu ES6 untuk kaedah objek. Dalam ES6, notasi trengkas membenarkan definisi kaedah yang lebih ringkas tanpa kata kunci "fungsi". Ini dicapai melalui penggunaan fungsi anak panah, yang menyediakan alternatif yang dipermudahkan kepada fungsi tradisional.
Spesifikasi ECMAScript 6 menyatakan perkara berikut mengenai definisi kaedah:
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() {} };
Oleh itu, definisi kaedah tanpa "fungsi" ialah sintaks ES6 yang sah yang disokong oleh penyemak imbas tertentu. Walau bagaimanapun, seperti yang dinyatakan dalam soalan asal, ciri ini mungkin tidak serasi secara universal merentas versi penyemak imbas yang berbeza.
Atas ialah kandungan terperinci Bolehkah Kaedah Objek ES6 Ditakrifkan Tanpa Kata Kunci 'fungsi'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!