Computer >> Máy Tính >  >> Lập trình >> Javascript

Cú pháp lạ, `? .` có nghĩa là gì trong JavaScript?

Hãy thử hiểu ‘?.’ Bằng một ví dụ.

Hãy xem xét ví dụ đối tượng sau đây mô tả một nam giới 23 tuổi -

const being = {
   human: {
      male: {
         age: 23
      }
   }
};

Bây giờ, giả sử chúng ta muốn truy cập thuộc tính tuổi của đối tượng này. Khá đơn giản phải không? Wewill chỉ cần sử dụng chuỗi để truy cập như mã bên dưới -

Ví dụ

const being = {
   human: {
      male: {
         age: 23
      }
   }
};
console.log(being.human.male.age);

Đầu ra

Đầu ra của bảng điều khiển như sau -

23

Bây giờ, giả sử bạn thay đổi thuộc tính từ nam thành đối tượng nữ hoặc một cái gì đó khác ngoài những lý do kỹ thuật cụ thể.

Bây giờ điều gì sẽ xảy ra với câu lệnh chuỗi của chúng ta, nó sẽ trả về một typeError nói không thể truy cập được không xác định của con người. Có tồn tại bất kỳ cách nào trong những tình huống như vậy để làm cho mã của chúng tôi không phát sinh bất kỳ lỗi nào không. Có, và đây là nơi ‘?.’ Hay còn gọi là chuỗi tùy chọn xuất hiện để giải cứu chúng ta.

Chuỗi tùy chọn thực hiện khá đơn giản, nó hoạt động giống như chuỗi thông thường trong điều kiện bình thường nhưng khi chúng tôi cố gắng truy cập bất kỳ thuộc tính nào của undefined thay vì khiến codeto của chúng tôi gặp lỗi, nó sẽ chấm dứt chuỗi sau đó và ở đó và trả về không xác định để có phần mã hoạt động bình thường.

Hãy xem xét ví dụ cuối cùng của chúng tôi (chuỗi tùy chọn) -

Ví dụ

const being = {
   human: {
      male: {
         age: 23
      }
   }
}
console.log(being?.human?.female?.age);

Đầu ra

Thay vì ném lỗi, kết quả sẽ là -

undefined