Dưới đây là ví dụ về Toán tử kết hợp Nullish trong javascript, hãy cùng Thế giới JS tìm hiểu về toán tử được sử dụng khá nhiều trong javascript này nhé.
Thí dụ:
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs function foo(bar) { bar = bar ?? 55; document.write(bar); document.write("</br>"); } foo(); // 55 foo(22); // 22
Đầu ra:
55 22
Nullish Coalescing Operator: Đây là một tính năng mới được giới thiệu trong đề xuất ECMA này hiện đã được đưa vào Đặc tả JavaScript chính thức. Toán tử này trả về giá trị bên phải nếu giá trị bên trái là null hoặc không xác định(undefined). Nếu không null hoặc không xác định thì nó sẽ trả về giá trị bên trái. Trước đây, việc đặt giá trị mặc định cho các biến không xác định(undefined) và null yêu cầu sử dụng câu lệnh if hoặc toán tử OR logic “||” như hình dưới đây:
Chương trình:
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs function foo(bar) { bar = bar || 42; console.log(bar); } // Output: 42 foo();
Đầu ra:
42
Khi tham số được truyền ít hơn số lượng tham số được xác định trong nguyên mẫu hàm, nó sẽ được gán giá trị là undefined . Để đặt giá trị mặc định cho các tham số không được truyền trong khi gọi hàm hoặc để đặt giá trị mặc định cho các trường không có trong đối tượng JSON, phương pháp trên là phổ biến.
Chương trình:
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs </script> function foo(bar) { bar = bar || 42; console.log(bar); } // Output: 42 foo(0); </script>
Đầu ra:
42
Có các giá trị trong JavaScript như 0 và một chuỗi trống về bản chất là sai về mặt logic. Những giá trị này có thể thay đổi hành vi dự kiến của các chương trình được viết bằng JavaScript.
Tất cả các vấn đề tái diễn đã dẫn đến sự phát triển của Nullish Coalescing Operator(oán tử kết hợp Nullish) . Toán tử kết hợp Nullish được xác định bởi hai dấu chấm hỏi liền kề ?? và công dụng của nó như sau:
Cú pháp:
variable ?? default_value
Ví dụ: Nếu biến được truyền là null hoặc không xác định(undefined) và chỉ khi đó là hai giá trị đó, thì giá trị mặc định sẽ được trả về. Trong tất cả các trường hợp khác bao gồm 0, chuỗi trống hoặc sai, giá trị của biến được trả về chứ không phải giá trị mặc định.
Chương trình 1:
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs function foo(bar) { bar = bar ?? 42; console.log(bar); } foo(); // 42 foo(0); // 0
Đầu ra:
42 0
Chương trình 2: Trường hợp sử dụng phổ biến hơn là đặt giá trị mặc định cho các đối tượng JSON như sau.
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs const foo = { bar: 0 } const valueBar = foo.bar ?? 42; const valueBaz = foo.baz ?? 42; // Value of bar: 0 console.log("Value of bar: ", valueBar); // Value of bar: 42 console.log("Value of baz: ", valueBaz);
Đầu ra:
0 42
Các trình duyệt được hỗ trợ: Các trình duyệt được hỗ trợ bởi JavaScript Nullish Coalescing Operator được liệt kê bên dưới:
- Google Chrome80
- Firefox 72
Trên đây là tất cả những gì về Toán tử kết hợp Nullish trong javascript mà bạn cần biết. Nếu bạn có bất kỳ câu hỏi liên quan tới Toán tử kết hợp Nullish, hãy chủ động liên hệ và inbox cho chúng tôi, để giúp đỡ bạn sớm nhất
Tiếp theo, hãy cùng Thế giới JS tìm hiểu thêm các kiến thức về Javascript trong các bài tiếp theo trong series học miễn phí Javascript từ cơ bản tới nâng cao.
Nếu bạn cảm thấy hữu ích và yêu thích Thế giới JS, hãy tham gia và theo dõi chúng tôi để nhận thêm nhiều kiến thức MIỄN PHÍ hơn nữa nhé:
Share to learn more than!