JS 深层处理数据问题

136 阅读1分钟

背景

平时取数据的时候,经常会遇到深层数据结构,如果不做任何处理,很容易造成 JS 报错。 为了避免这个问题,也许你会用多个 && 进行处理:

const country = { 
   name: 'china', 
   province: { 
      name: 'guangdong', 
      city: { 
         name: 'shenzhen' 
      }
   } 
} 
const cityName = country.province && country.province.city && country.province.city.name;

最新的 ES 提案中提供了可选链的语法糖,支持我们用下面的语法来深层取值。

country?.province?.city?.name