【问题标题】:TypeScript syntax explanation, optional parametersTypeScript 语法解释,可选参数
【发布时间】:2017-03-15 03:06:56
【问题描述】:
我最近遇到了以下函数声明
subscribe(observerOrNext?: PartialObserver<T> | ((value: T) => void), error?: (error: any) => void, complete?: () => void): Subscription;
我明白'?'表示 optional ,但其余的意思是什么,尤其是
:PartialObserver<T> | ((value: T) => void) 部分?
【问题讨论】:
标签:
typescript
syntax
optional-parameters
【解决方案1】:
我明白'?'表示 optional ,但其余的意思是什么,
特别是:PartialObserver<T> | ((value: T) => void) 部分?
字符 '|' 被称为 Union Type,在这里用于说明observerOrNext参数可能是一种愚蠢的类型: p>
- 通用类型
PartialObserver<T>
- 或签名必须不返回任何内容的回调函数,例如
void 并接受 value 类型的参数 T。
Advanced Types 的 TypeScript documentation 以更好的方式解释了何时使用 Union Type。