Penyebaran dan Rehat Operator dalam JavaScript

DDD
Lepaskan: 2024-09-13 18:17:30
asal
782 orang telah melayarinya

Spread and Rest Operators in JavaScript

Kisah snek:
Katakan anda mempunyai sebakul makanan ringan:

const snacks = ['apple', 'banana', 'chocolate'];
Salin selepas log masuk

Sekarang, anda ingin berkongsi makanan ringan ini dengan rakan anda. Tetapi daripada memberi mereka keseluruhan bakul, anda mengeluarkan setiap snek dan memberikannya satu persatu:

console.log(...snacks);  // Output: apple banana chocolate
Salin selepas log masuk

Pengendali ... (hamparan) seperti mengeluarkan makanan ringan dari bakul dan menghamparkannya di atas meja. Rakan anda kini boleh mengambil mereka secara individu!

Sebaliknya, jika rakan anda membawa lebih banyak makanan ringan, anda boleh mengumpulkan semuanya ke dalam satu bakul besar menggunakan ... (rehat) pengendali:

function collectSnacks(...moreSnacks) {
  console.log(moreSnacks);
}

collectSnacks('cookie', 'chips', 'juice');  // Output: ['cookie', 'chips', 'juice']
Salin selepas log masuk

Di sini, pengendali ... mengumpul semua makanan ringan ke dalam bakul baharu. Beginilah cara operator lain berfungsi!

Jika anda baru menggunakan JavaScript, anda mungkin terjumpa dua elemen sintaks khas: operator spread dan rest. Kedua-duanya kelihatan sama—tiga titik (...)—tetapi ia digunakan dalam cara yang berbeza. Mari pecahkan mereka dengan contoh mudah!

1. Apakah itu Operator Spread?
Operator spread (...) digunakan untuk mengembangkan tatasusunan atau objek ke dalam elemen individu. Ia seperti membongkar tatasusunan atau objek ke dalam komponennya.

Contoh: Mengembangkan Tatasusunan
Katakan anda mempunyai tatasusunan nombor dan anda mahu menghantarnya secara individu ke dalam fungsi.

const numbers = [1, 2, 3];
console.log(...numbers);  // Output: 1 2 3
Salin selepas log masuk

Anda boleh menggunakan operator spread untuk menyebarkan elemen tatasusunan!

Contoh: Menggabungkan Tatasusunan
Jika anda mempunyai dua tatasusunan dan ingin menggabungkannya, pengendali hamparan memudahkannya:

const array1 = [1, 2, 3];
const array2 = [4, 5, 6];

const mergedArray = [...array1, ...array2];
console.log(mergedArray);  // Output: [1, 2, 3, 4, 5, 6]
Salin selepas log masuk

Ia seperti meletakkan semua elemen daripada tatasusunan1 dan tatasusunan2 ke dalam satu tatasusunan baharu.

Contoh: Menyalin Objek
Anda juga boleh menggunakan operator spread dengan objek:

const user = { name: "Ahmed", age: 25 };
const updatedUser = { ...user, location: "Bengaluru" };

console.log(updatedUser);
// Output: { name: "Ahmed", age: 25, location: "Bengaluru" }
Salin selepas log masuk

Di sini, kami menyalin sifat daripada objek pengguna dan menambah lokasi hartanah baharu.

  1. Apakah itu Operator Rehat? Operator selebihnya adalah bertentangan dengan operator spread. Daripada mengembangkan tatasusunan atau objek, ia mengumpulkan berbilang elemen ke dalam tatasusunan atau objek.

Contoh: Fungsi dengan Parameter Rehat
Bayangkan anda sedang menulis fungsi yang mengambil sebarang bilangan hujah:

function addNumbers(...nums) {
  return nums.reduce((sum, current) => sum + current, 0);
}

console.log(addNumbers(1, 2, 3, 4));  // Output: 10
Salin selepas log masuk

Dalam kes ini, operator yang lain ...nums mengumpulkan semua argumen ke dalam tatasusunan, menjadikannya lebih mudah untuk berfungsi dengan berbilang nilai.

Contoh: Memusnahkan dengan Rehat
Anda juga boleh menggunakan operator selebihnya apabila memusnahkan tatasusunan:

const [first, ...rest] = [1, 2, 3, 4];
console.log(first);  // Output: 1
console.log(rest);   // Output: [2, 3, 4]
Salin selepas log masuk

Di sini, mula-mula dapatkan elemen pertama tatasusunan, dan selebihnya mengumpulkan elemen yang tinggal ke dalam tatasusunan baharu.

Kesimpulan
Operator spread dan rest ialah alat yang berkuasa dan serba boleh dalam JavaScript. Untuk imbas kembali:

  • Sebarkan (...) mengembangkan tatasusunan atau objek ke dalam elemen individu.
  • Rehat (...) mengumpul berbilang elemen ke dalam tatasusunan atau objek.

Semoga anda memahami 2 konsep ini tersebar dan berehat, ia akan menjadikan kod JavaScript anda lebih ringkas dan lebih mudah dibaca!

Selamat mengekod :)

Atas ialah kandungan terperinci Penyebaran dan Rehat Operator dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!