【发布时间】:2018-12-11 00:22:37
【问题描述】:
假设我们需要实现一个返回一些东西的方法,但是当这个东西是undefined时,它应该返回一些传入的默认值。但是我们不想将默认值参数设为必需,因此将其声明为可选参数:
private returnSomething(someParam: string, defaultValue?: string) : string | undefined {
const result: string | undefined = ...; // Some result-producing logic
return result !== undefined ? result : defaultValue;
}
我们希望以下内容在严格模式下编译(注意 something1: string 类型,它声明时没有 undefined 部分):
const something1: string = this.returnSomething("someParam1", "?"); // Error, no undefined in the type of something1
const something2: string | undefined = this.returnSomething("someParam2");
是否可以在 TypeScript 中声明一个方法,以便在未传递可选参数时,方法的返回类型被视为 string | undefined,而在传递时,返回类型为 string?
【问题讨论】:
-
@NurbolAlpysbayev:谢谢!固定的。这是复制粘贴问题:)
标签: typescript