我尝试在JavaScript中使用可选链式调用,但我的ESLint规则导致错误。
错误:不安全的可选链使用。如果它通过“undefined”短路,则评估将抛出TypeError no-unsafe-optional-chaining。
错误:不安全的可选链使用。如果它通过“undefined”短路,则评估将抛出TypeError no-unsafe-optional-chaining。
const { homeAddress, officeAddress} = Employee?.addresses;
错误:可选链上的不安全算术操作。可能导致 NaN no-unsafe-optional-chaining
const AddressesCount = homeAddress?.length + officeAddress?.length
我该如何解决这个问题?我不想违反规定。
Employee
为空或未定义,Employee.addresses || {}
会抛出异常... - derpirscherEmployee?.addresses
,但你需要回退到一个空对象,这样解构就不会在 null 或 undefined 上抛出错误。因此,使用Employee?.addresses || {}
。 - derpirscher