Tham số mặc định của JavaScript

Trong hướng dẫn này, bạn sẽ tìm hiểu về các tham số mặc định của JavaScript với sự trợ giúp của các ví dụ.

Khái niệm về các tham số mặc định là một tính năng mới được giới thiệu trong phiên bản JavaScript ES6 . Điều này cho phép chúng tôi cung cấp các giá trị mặc định cho các tham số của hàm. Hãy lấy một ví dụ,

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

Trong ví dụ trên, giá trị mặc định xlà 3 và giá trị mặc định ylà 5 .

  • sum(5, 15) – When both arguments are passed, x takes 5 and y takes 15.
  • sum(7) – When 7 is passed to the sum() function, x takes 7 and y takes default value 5.
  • sum() – When no argument is passed to the sum() function, x takes default value 3 and y takes default value 5.

Cách hoạt động của các đối số mặc định trong JavaScript

Sử dụng Biểu thức làm Giá trị Mặc định

Cũng có thể cung cấp các biểu thức làm giá trị mặc định.

Ví dụ 1: Truyền tham số làm giá trị mặc định

function sum(x = 1, y = x,  z = x + y) {
    console.log( x + y + z );
}

sum(); // 4

Trong chương trình trên,

  • The default value of x is 1
  • The default value of y is set to x parameter
  • The default value of z is the sum of x and y

Nếu bạn tham chiếu tham số chưa được khởi tạo, bạn sẽ gặp lỗi. Ví dụ,

function sum( x = y, y = 1 ) {
    console.log( x + y);
}

sum(); 

Đầu ra

ReferenceError: Cannot access 'y' before initialization

Ví dụ 2: Truyền Giá trị Hàm làm Giá trị Mặc định

// 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

Trong chương trình trên,

  • 10 is passed to the calculate() function.
  • x becomes 10, and y becomes 150 (the sum function returns 15).
  • The result will be 160.

Chuyển giá trị không xác định

Trong JavaScript, khi bạn chuyển undefinedđến một hàm tham số mặc định, hàm sẽ nhận giá trị mặc định. Ví dụ,

function test(x = 1) {
  console.log(x);
}

// passing undefined
// takes default value 1
test(undefined); // 1








Gõ tìm kiếm nhanh...