JavaScript 可選鏈接

可選鏈接運算符 (optional chaining operator) 是一個非常有用的運算符,我們可以用它來操作對象及其屬性或方法。 以前,你是否曾使用過 && 運算符作為備用方案呢?這是我最喜歡的 JavaScript 特性之一。 在 JavaScript 中,我們可以先檢查對象是否存在,然後嘗試獲取其屬性,就像這樣: const car = null const color = car && car.color 即使 car 為 null,也不會出現錯誤,color 將被賦予 null 的值。 你可以深入多層級: const car = {} const colorName = car && car.color && car.color.name 在其他一些語言中,使用 && 可能會返回 true 或 false,因為通常它是一個邏輯運算符。 但在 JavaScript 中不是這樣,這讓我們可以做一些很酷的事情。 現在這個新的可選鏈接運算符讓我們更加靈活: const color = car?.color const colorName = car?.color?.name 如果 car 為 null 或 undefined,結果將為 undefined。 不會出現錯誤(而使用 && 運算符時,如果 car 為 undefined,將出現 ReferenceError: car is not defined 錯誤)。