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 danymengambil 15 .sum(7)- Apabila 7 diteruskan kesum()fungsi,xmengambil 7 danymengambil nilai lalai 5 .sum()- Apabila ada hujah diluluskan untuk jumlah () fungsi,xmengambil nilai lalai 3 danymengambil 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 kexparameter - Nilai lalai
zadalah jumlahxdany
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. xmenjadi10, danymenjadi150(fungsi jumlah kembali15).- 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








