这些符号作为参数的一部分意味着什么?和?:

时间:2018-04-13 05:20:16

标签: javascript typescript

如果有一个地方我们可以查看这些符号背后的含义,那将会很棒。无论如何,我试着理解这些代码,但我不知道如何阅读它,因为我不确定这些符号是什么意思,?:和?。

他们被使用了两次;

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 个答案:

答案 0 :(得分:1)

案例1

模板中的

?.符号是safe运算符。

totalDisplay.sum - 在这种情况下,如果totalDisplay未定义或为null(稍后 falsy ),则会抛出异常,因为我们要访问falsy对象的属性。因此,在totalDisplay?.sum运算符中使用?,我们告诉如果totalDisplay是假的,请不要访问它的属性,只返回null,否则访问property sum并返回值。

案例2

函数参数中的

?符号表示该参数是可选的,您可以传递或省略它。编译器不会争论未通过的参数。如果未通过,则为undefined