JavaScript: Optional chaining (?.)

Toán tử chuỗi tùy chọn (?.) Cho phép bạn đọc giá trị của thuộc tính nằm sâu trong chuỗi các đối tượng được kết nối mà không cần phải kiểm tra xem mỗi tham chiếu trong chuỗi có hợp lệ hay không.

Các ?. toán tử giống như. toán tử chuỗi, ngoại trừ việc thay vì gây ra lỗi nếu tham chiếu là nullish (null hoặc không xác định), biểu thức ngắn mạch với giá trị trả về là không xác định. Khi được sử dụng với lời gọi hàm, nó trả về không xác định nếu hàm đã cho không tồn tại.

Toán tử chuỗi tùy chọn cung cấp một cách để đơn giản hóa việc truy cập các giá trị thông qua các đối tượng được kết nối khi có thể một tham chiếu hoặc hàm có thể là không xác định hoặc rỗng.

Example:

const customer = {
  name: "Carl",
  details: {
    age: 82,
    location: "Paradise Falls" // detailed address is unknown
  }
};

const customerCity = customer.details?.address?.city;
// … this also works with optional chaining function call

const customerName = customer.name?.getName?.();
// method does not exist, customerName is undefined

 

Readmore: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining