1.空场景说明
当对象的属性可能是null或者undefined时,称之为“空值”,尝试访问空值身上的属性或方法会发生类型错误。
1.1可选链方案
可选链 “?.” 是一种访问嵌套对象属性的安全的方式,可选链前面的值为undefined或者为null时,就会停止运算。
重在访问
1.2 逻辑判断方案
只有值存在的时候才继续执行后面的属性访问语句
2.非空断言
非空断言**( ! )** 是指我们开发者明确的知道当前的值一定不是null或者undefined,让ts通过类型校验。
重在设置赋值
在使用非空断言要格外小心,它没有实际的js判断逻辑,只是通过了ts的类型校验,容易直接把空值出现在实际的执行环境里
非空断言:作用是用来设置某个属性(可能为空,但是绝对不是空)的值