如果有一个地方我们可以查看这些符号背后的含义,那将会很棒。无论如何,我试着理解这些代码,但我不知道如何阅读它,因为我不确定这些符号是什么意思,?:和?。
他们被使用了两次;
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;
}
}
答案 0 :(得分:1)
案例1
模板中的 ?.
符号是safe
运算符。
totalDisplay.sum
- 在这种情况下,如果totalDisplay
未定义或为null(稍后 falsy ),则会抛出异常,因为我们要访问falsy对象的属性。因此,在totalDisplay?.sum
运算符中使用?
,我们告诉如果totalDisplay
是假的,请不要访问它的属性,只返回null
,否则访问property sum
并返回值。
案例2
函数参数中的 ?
符号表示该参数是可选的,您可以传递或省略它。编译器不会争论未通过的参数。如果未通过,则为undefined
。