06/04/2021, 14:48

Default Parameters trong ES6 - Javascript nâng cao

Default Parameter là giá trị mặc định của tham số khi truyền vào các function. Đối với Javascript thì có nhiều bạn chưa biết chức năng này mặc dù trong ES5 đã cung cấp săn cho chúng ta, tuy nhiên người ta cảm thấy cách tạo giá trị mặc định trong ES5 vẫn không hay nên họ đã bổ sung một cách khác ...

Default Parameter là giá trị mặc định của tham số khi truyền vào các function. Đối với Javascript thì có nhiều bạn chưa biết chức năng này mặc dù trong ES5 đã cung cấp săn cho chúng ta, tuy nhiên người ta cảm thấy cách tạo giá trị mặc định trong ES5 vẫn không hay nên họ đã bổ sung một cách khác mới hơn và đơn giản hơn rất nhiều trong ES6.

1. Giá trị mặc định tham số trong ES5

Trong ES5 để tạo giá trị mặc định thì bạn sử dụng cặp dấu || để thiết lập ngay bên trong thân của hàm.

Ví dụ: Tạo giá trị mặc định cho biến domain trong ES5

 

function sayHello(domain)
{
    // Tạo giá trị mặc định là Zaidap.com.net
    domain = domain || 'Zaidap.com.net';
    
    return domain;
}

// Sử dụng
console.log("KHÔNG truyền tham số: " + sayHello());
console.log("CÓ truyền tham số: " + sayHello('facebook.com'));

 

Chạy lên bạn sẽ thấy kết quả như hình sau:

gia tri mac dinh trong es5 png

2. Giá trị mặc định tham số trong ES6

Trong ES6 có cách khai báo giá trị mặc định đơn giản hơn rất nhiều, cách này cũng tương tự như khai báo trong PHP đó là sử dụng phép gán ngay tại vị trí khai báo tham số cho function.

Ví dụ: Tạo giá trị mặc định cho biến domain trong ES6

 

function sayHello(domain = 'Zaidap.com.net')
{
    return domain;
}

// Sử dụng
console.log("KHÔNG truyền tham số: " + sayHello());
console.log("CÓ truyền tham số: " + sayHello('facebook.com'));

 

Chạy lên kết quả vẫn không khác gì ở ví dụ ES5.

gia tri mac dinh trong es5 png

3. Lời kết

Nhìn chung cách khai báo trong ES6 đơn giản hóa hơn rất nhiều trong ES5, tuy nhiên các phiên bản Browser cũ không hỗ trợ ES6 nên bạn cũng phải cân nhắc khi sử dụng cú pháp của ES6 nhé. Và qua bài này bạn không cần phải lo lắng việc không truyền đủ tham số khi sử dụng hàm nữa phải không nào :). 

Bùi Văn Nam

27 chủ đề

7090 bài viết

Cùng chủ đề
0