如果有一个地方我们可以查找这些符号背后的含义,那就太好了。无论如何,我试图理解这些代码,但我不知道如何阅读它,因为我不确定这些符号是什么意思,?:和?。
两次使用它们;
1) case
<custom-tag [count]="totalDisplay?.sum" [params]="someConditions"></custom-tag>
2) case
export class Filter implements PipeTransform {
transform(value: any, args?: any): any {
return value+1;
}
}
案例 1
模板中的?.
符号是safe
运算符。
totalDisplay.sum
- 在这种情况下,如果totalDisplay
未定义或 null(后来的falsy),则会引发异常,因为我们想要访问 falsy 对象的属性。因此,将totalDisplay?.sum
与运算符一起使用?
我们告诉totalDisplay
如果它是伪造的,请不要访问它的属性,而只是返回null
,否则访问属性sum
并返回值。
案例2
函数参数中的?
符号表示参数是可选的,可以传递或省略。编译器不会争论未传递的参数。如果不通过,它将undefined
.