最近在代码中发现同事调用变量时使用了?这个符号。出于好奇,上网搜了下其使用方法,发现还有和它类似的感叹号!,一并记录下来。
?用来检查问号前面的变量是否为null或者undefined时,程序不会出错。
stu3: Student;
<h1>stu3 id{{stu3?.id}}</h1> // stu3 id
<h1>stu3 name{{stu3?.name}}</h1> // stu3 name
比如上面的例子中stu3没有初始化,在调用id或者name的时候,就不会抛出异常。
!用来检查感叹号后面的变量为null或者undefined时,程序不会出错
stu2: Student = {
id: 1,
name: undefined,
age: 3
};
<h1>stu2 name {{stu2!.name}}</h1> // stu2 name
<h1>stu2 id {{stu2!.id}}</h1> // stu2 id 1
上面例子中stu2中name为undefined,在调用stu2.name时,需要判断下是否为undefined