? 用来检查 问号前面的变量为 null 或 undefined 时,程序不会出错
obj:Object;
obj?.name; //NO ERROR
obj.name; //ERROR
! 用来检查 感叹号后面的变量为 null 或 undefined 时, 程序不会出错。
obj: Object = {
id: 1,
name: undefined,
};
obj.name.substring(0,1); //ERROR
obj!.name.substring(0,1); //NO ERROR