Rumah >hujung hadapan web >tutorial js >Bolehkah Fungsi Anak Panah dalam ES2015 Dinamakan Tanpa `var` atau `const`?

Bolehkah Fungsi Anak Panah dalam ES2015 Dinamakan Tanpa `var` atau `const`?

Susan Sarandon
Susan Sarandonasal
2024-11-06 22:46:03793semak imbas

Can Arrow Functions in ES2015 Be Named Without `var` or `const`?

Bagaimanakah saya Menamakan Fungsi Anak Panah dalam ES2015?

Dalam ES2015, fungsi anak panah ialah cara yang elegan untuk menulis fungsi ringkas, tetapi anda boleh tertanya-tanya sama ada mungkin untuk memberikan mereka nama tanpa var atau const tradisional sintaks.

Pertimbangkan fungsi bernama berikut:

function sayHello(name) {
    console.log(name + ' says hello');
}

Untuk menukar ini kepada fungsi anak panah, pada mulanya seseorang mungkin menganggap bahawa fungsi anak panah bernama akan kelihatan seperti ini:

var sayHello = (name) => {
    console.log(name + ' says hello');
}

Walau bagaimanapun, pendekatan ini memerlukan penggunaan pernyataan var, yang mungkin tidak wajar.

Penyelesaian terletak pada menetapkan fungsi anak panah kepada pembolehubah atau pemula sifat. Dengan berbuat demikian, pembolehubah atau nama sifat boleh bertindak sebagai nama untuk fungsi anak panah. Sebagai contoh, kod berikut adalah sah dengan sempurna:

sayHello = (name) => {
    console.log(name + ' says hello');
}

Seperti ungkapan fungsi tanpa nama tradisional, fungsi anak panah yang diperuntukkan dengan cara ini mewarisi nama pembolehubah atau sifat yang ditugaskan kepadanya. Untuk menunjukkan perkara ini, pertimbangkan kod berikut:

const sayHello = (name) => {
    console.log(name + ' says hello');
};
console.log(sayHello.name); // "sayHello"

Dalam contoh ini, fungsi anak panah mempunyai nama sebenar, sayHello, yang boleh diambil menggunakan sifat .name.

Atas ialah kandungan terperinci Bolehkah Fungsi Anak Panah dalam ES2015 Dinamakan Tanpa `var` atau `const`?. 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