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

标签 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

模板中的

?.符号是安全运算符。

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

案例2

函数参数中的

?符号表示该参数是可选的,可以传递也可以省略。编译器不会争论未传递的参数。如果没有通过,它将是未定义

关于javascript - 这些符号作为参数的一部分意味着什么?和 ? :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49809789/

相关文章:

javascript - 将 cURL 转换为 Parse.Cloud.httpRequest

javascript - 数组作为文字对象中的属性

javascript - 通过html按钮更改变量

reactjs - 如何使用类型化上下文提供程序创建通用 React 组件?

typescript - 具有动态静态字段的函数

angular - 按钮在页面初始化时不会被禁用,但一旦单击它就会被禁用

javascript - Safari、单页应用程序和 "Swipe between pages"OS X 选项

javascript - 关于向 Javascript 添加数据的简单问题

angular - Angular 6 中的 debounceTime 和 distinctUntilChanged

Javascript Promise 解决混淆