Hiểu ?. (optional chaining) qua ví dụ.
Đối tượng mô tả người đàn ông 23 tuổi:
const being = { human: { male: { age: 23 } } };Truy cập age bình thường:
Ví dụ
const being = { human: { male: { age: 23 } } }; console.log(being.human.male.age);Kết quả
23
Nếu đổi male thành female, truy xuất being.human.male.age sẽ ném TypeError.
?. (optional chaining) giải quyết: hoạt động như chuỗi bình thường, nhưng khi truy cập thuộc tính của undefined thì dừng lại và trả về undefined thay vì ném lỗi.
Ví dụ optional chaining
const being = { human: { male: { age: 23 } } } console.log(being?.human?.female?.age);Kết quả
Thay vì lỗi, đầu ra:
undefined