Rumah > Soal Jawab > teks badan
P粉5459106872023-09-05 10:12:18
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.
P粉5494120382023-09-05 09:23:13
...
不是一个运算符。它是主要的语法,就像在 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:
// 1 const [first, ...rest] = someArray; // 2 const { a, ...others } = someObject; // 3 function example(p1, ...others) { // ... }
...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:
// 1 const x = [...someIterable]; // 2 const o = { ...someObject }; // 3 example(...someIterable);
...ini jelas pengembangan, bukan baki, kerana anda menggunakannya dalam literal tatasusunan (1), literal objek (2), dan senarai parameter panggilan fungsi (3).