Bagaimana untuk membezakan antara operator spread dan operator baki dalam JavaScript?
P粉022501495
2023-09-04 11:25:07
<p>Sintaks adalah sama, jadi bagaimanakah JavaScript membezakan antara kedua-duanya di bawah hud? </p>
<p>Adakah ia dinilai berdasarkan jenis data pembolehubah yang dikendalikan? Atau adakah ia berdasarkan tempat pembolehubah digunakan? Atau tidak? </p>
Penghuraikan JavaScript menentukan ini dengan menganalisis konteks tatabahasa di mana tiga titik itu muncul.
Ia akan mempertimbangkan sama ada 3 titik ini digunakan dengan literal tatasusunan, panggilan fungsi atau parameter fungsi.
Untuk pengendali penyebaran: Apabila 3 titik digunakan dalam literal tatasusunan dan panggilan fungsi, ia dianggap sebagai pengendali penyebaran.
Untuk Operator Parameter Baki: Apabila 3 titik digunakan dalam parameter definisi fungsi, ia dianggap sebagai pengendali parameter yang tinggal.
...
不是一个运算符。它是主要的语法,就像在for
语句中的()
一样(它们是for
sebahagian daripada sintaks, bukan contoh pengendali kumpulan). Operator tidak berfungsi seperti sintaks spread dan rest.Penghuraikan mengetahui yang mana satu yang anda gunakan kerana kedudukan yang anda gunakan, kerana hanya satu daripada setiap kedudukan yang sah dan satu lagi tidak. Contohnya:
...jelas bahawa anda menggunakan sintaks rehat dalam kedua-dua kes, kerana ia digunakan dalam mod pemusnahan (1 dan 2) dan dalam senarai argumen (3).
Dan untuk:
...ini jelas pengembangan, bukan baki, kerana anda menggunakannya dalam literal tatasusunan (1), literal objek (2), dan senarai parameter panggilan fungsi (3).