TypeScript中的?:代表什么意思?

65

我在一个 Angular 的 TypeScript 声明文件中找到了以下内容:

interface IDirective{
    compile?:
        (templateElement: IAugmentedJQuery,

compile 后面的 ?: 是什么意思?


3
这是一个属性,“?”符号使它变成可选的。请参考语言规范中的第3.7.1章节。 - Hans Passant
2个回答

71

1
这是正确的。回答第二部分,: 表示成员类型的引入(在这种情况下,它似乎是一个函数,其第一个参数是 IAugmentedJQuery)。 - dlev
2
这是正确的,但您可能希望添加它不仅限于接口。 - Aluan Haddad

47
在这种情况下,?:不是一个单一的操作符,而是两个操作符:
  • ?(可选)

  • :(指定类型)

在其他语言/情况下,?:将成为Elvis Operator

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接