Adakah Fungsi Anak Panah Mempunyai Objek Argumennya Sendiri dalam ES6?

Barbara Streisand
Lepaskan: 2024-10-18 15:57:03
asal
201 orang telah melayarinya

Do Arrow Functions Have Their Own Arguments Object in ES6?

Fungsi Anak Panah ES6: Enigma hujah

Dalam bidang JavaScript, fungsi anak panah telah muncul sebagai alternatif yang ringkas dan elegan kepada tradisional pengisytiharan fungsi. Walau bagaimanapun, perlakuan terhadap objek argumen dalam fungsi anak panah telah mencetuskan kontroversi, yang membawa kepada tingkah laku bercanggah merentas platform yang berbeza.

Syor awal daripada jawatankuasa TC39 mencadangkan bahawa fungsi anak panah tidak seharusnya mempunyai hujah sendiri yang mengikat, sebaliknya bergantung pada objek hujah skop induk. Walau bagaimanapun, sesetengah penyemak imbas (Chrome, Firefox, Node) nampaknya bercanggah dengan tanggapan ini, membenarkan fungsi anak panah mengakses objek argumen dalam skop lampirannya.

Untuk menjelaskan kekaburan ini, mari kita teliti dokumentasi rasmi:

  • Spesifikasi ES6, Bahagian 14.2.11.1: "Ekspresi fungsi anak panah menilai kepada fungsi yang mempunyai [[ThisMode]] ditetapkan kepada leksikal." Ini menunjukkan bahawa fungsi anak panah mewarisi persekitaran leksikal skop induknya.
  • Spesifikasi ES6, Bahagian 18: "(18 a) Fungsi anak panah tidak pernah mempunyai objek argumen." Kenyataan ini secara eksplisit mengesahkan bahawa fungsi anak panah tidak mempunyai objek hujahnya sendiri.

Berdasarkan dokumen rasmi ini, jelas menunjukkan bahawa tingkah laku yang diperhatikan dalam Chrome, Firefox dan Node adalah salah. Fungsi anak panah tidak bertujuan untuk mempunyai hujah yang mengikat dan bergantung pada tingkah laku ini boleh membawa kepada kod yang tidak boleh dipercayai dan mengelirukan.

Oleh itu, pembangun harus mematuhi semantik fungsi anak panah yang dimaksudkan dan mengelakkan bergantung pada kehadiran objek hujah dalam skopnya. Ini akan memastikan gelagat yang konsisten dan boleh diramal merentas semua platform JavaScript.

Atas ialah kandungan terperinci Adakah Fungsi Anak Panah Mempunyai Objek Argumennya Sendiri dalam ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan