Parameter Lalai JavaScript

Dalam tutorial ini, anda akan belajar mengenai parameter lalai JavaScript dengan bantuan contoh.

Konsep parameter lalai adalah ciri baru yang diperkenalkan dalam versi ES6 JavaScript. Ini membolehkan kita memberikan nilai lalai untuk parameter fungsi. Mari kita ambil contoh,

 function sum(x = 3, y = 5) ( // return sum return x + y; ) console.log(sum(5, 15)); // 20 console.log(sum(7)); // 12 console.log(sum()); // 8

Dalam contoh di atas, nilai lalai xadalah 3 dan nilai lalai yadalah 5 .

  • sum(5, 15)- Apabila kedua-dua argumen berlalu, xmengambil 5 dan ymengambil 15 .
  • sum(7)- Apabila 7 diteruskan ke sum()fungsi, xmengambil 7 dan ymengambil nilai lalai 5 .
  • sum()- Apabila ada hujah diluluskan untuk jumlah () fungsi, xmengambil nilai lalai 3 dan ymengambil nilai lalai 5 .
Bagaimana argumen lalai berfungsi dalam JavaScript

Menggunakan Ungkapan sebagai Nilai Lalai

Anda juga boleh memberikan ungkapan sebagai nilai lalai.

Contoh 1: Melewati Parameter sebagai Nilai Lalai

 function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4

Dalam program di atas,

  • Nilai lalai xadalah 1
  • Nilai lalai yditetapkan ke xparameter
  • Nilai lalai zadalah jumlah xdany

Sekiranya anda merujuk parameter yang belum diinisialisasi, anda akan mendapat ralat. Sebagai contoh,

 function sum( x = y, y = 1 ) ( console.log( x + y); ) sum(); 
Pengeluaran
 Ralat Kesalahan: Tidak dapat mengakses 'y' sebelum memulakan

Contoh 2: Nilai Fungsi Lulus sebagai Nilai Lalai

 // using a function in default value expression const sum = () => 15; const calculate = function( x, y = x * sum() ) ( return x + y; ) const result = calculate(10); console.log(result); // 160

Dalam program di atas,

  • 10 diteruskan ke calculate()fungsi.
  • xmenjadi 10, dan ymenjadi 150(fungsi jumlah kembali 15).
  • Hasilnya akan 160.

Melewati Nilai yang tidak ditentukan

Dalam JavaScript, ketika Anda undefinedmeneruskan fungsi parameter lalai, fungsi tersebut mengambil nilai default. Sebagai contoh,

 function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1

Artikel menarik...