对find的后果进行判空
const items = [ { id: 1, name: 'Ben', age: 25, }, { id: 2, name: 'Lily', age: 20, },];const targetItem = items.find((item) => item.age === 50);console.log(targetItem.name);// Error: Cannot read properties of undefined (reading 'name')
下面的代码中,咱们在find
的返回值上间接拜访属性,会有可能导致异样。
因为在没有找到指标时,find
的返回值会是undefined
,在undefined
上拜访对象,就会抛出异样。
所以,遵循简略的策略,永远对find
的返回值进行判空,防止意外状况。
const targetItem = items.find((item) => item.age === 50);console.log(targetItem?.name);// undefined