Also available in🇬🇧
Nullish Coalescing là một toán tử khá thú vị trong Javascript.
Toán tử này được viết dưới dạng: ??
. Nó được sử dụng với các biến mang giá trị null
hoặc undefined
.
Chẳng hạn, giá trị trả về của biểu thức a ?? b
là:
a
nếu a
xác định.b
nếu a
không xác định.Giả sử chúng ta có biến user
và chúng ta muốn kiểm tra xem user
này đã đăng nhập hay chưa, đầu tiên ta có thể sử dụng câu điều kiện if / else
như sau:
Ngắn gọn hơn với toán tử 3 ngôi:
Với Nullish Coalescing:
Tới đây chúng ta thấy Nullish Coalescing khá giống với ||
(hay còn gọi là Logical OR operator) mà có lẽ bạn gặp trước đó khá nhiều.
Sự khác biệt chính của 2 toán tử này là:
??
đánh giá null
và undefined
.||
đánh giá falsy value.Một điều cần lưu ý nữa đó là nếu sử dụng ??
với &&
hay ||
mà không chỉ định thứ tự ưu tiên thì sẽ có thể gặp lỗi, ví dụ:
Nếu mới mua vé máy bay hạng Thương gia để bay ra Hà Nội ngắm mùa thu vào cuối năm này, bạn (dĩ nhiên) sẽ không muốn phải chờ ở hạng Phổ thông để làm thủ tục check-in, đúng không?
Tương tự, ta cần chỉ định thứ tự ưu tiên để tránh lỗi này, chẳng hạn với toán tử nhóm: