Truy vấn và thiết lập các đặc tính Javascript (phần 8)

Các lỗi truy cập đặc tính (tiếp tục)

Để hiểu tại sao biểu thức này làm việc để ngăn chặn các ngoại lệ TypeError, bạn có thể muốn xem lại hành vi
đoản mạch của toán tử && trong các học phần trước.
Như mô tả trong các học phần trước, ES2020 hỗ trợ truy cập đặc tính có điều kiện với ?., cái cho phép chúng
ta viết lại biểu thức gán trước như:

let surname = book?.author?.surname;

Thử thiết lập một đặc tính trên null hay undefined cũng gây ra một TypeError. Các thử thiết lập các đặc tính
trên các giá trị khác không luôn thành công, hoặc: một vài đặc tính là chỉ đọc và không thể thiết lập, và
một vài objects không cho phép thêm các đặc tính mới. Trong mode nghiêm ngặt (các học phần trước), một TypeError
được ném ra bất cứ khi nào một thử để thiết lập một đặc tính thất bại. Bên ngoài mode nghiêm ngặt, các thất bại
này thường là yên lặng.

Chia sẻ