TypeError: Cannot set properties of undefined
类型错误:无法设置未定义的属性

问题解析

当前的是当前对象或者数组是undefined,但是却用来引用属性或者索引

比如下面两种情况

const value = undefinedvalue.a// TypeError: Cannot read properties of undefined (reading 'a')value[0]// TypeError: Cannot read properties of undefined (reading '0')

或者是当前的value值不是我们显式声明的undefined,而是运算之后得到undefined,之后我们再去用它

const value = {}value.a.b // TypeError: Cannot read properties of undefined (reading 'b')value.a// undefined

解决方案

问题清楚了, 解决的方式就是不用undefined直接去应用对象,解决报错问题可以用以下方法

const value = undefined//解决方法1: if条件if(value){value = {}value.a}// 解决方法2:?运算符value?.a// 解决方法3:||运算符const preValue = value || {}preValue.a