什么是前缀“&”在Typescript类型定义中意味着什么?

时间:2018-03-02 22:46:35

标签: typescript

来自DefinitelyTyped

  

导出类型CSSProperties =&   ObservableProperties&   ObservableProperties;

我能找到的每个&符号说明它是一个交叉算子。在这种情况下,第一个&符是什么意思?

参考文献:

1 个答案:

答案 0 :(得分:6)

当前版本的编译器会忽略前导符号,几乎与在接口声明中忽略的最后一个;相同:

interface a {
    a(): string;
}


type b = & a;

TypeScript playgroundtype b = a

从问题链接的输入是(ab)使用此功能为交集类型提供更统一的语法:

export type CSSProperties =
    & ObservableProperties<csstype.Properties>
    & ObservableProperties<csstype.PropertiesHyphen>;

以这种方式编写时,例如,当您删除第一个交叉点成员时,您可以删除整行,而不必更改任何其他内容。