我刚开始将所有代码转换为使用strictNullChecks。我想要一个执行以下功能的功能:
function defaultValue<TUnionNull>(value: TUnionNull, default: TWithoutNull): TWithoutNUll{
return value == null ? default : value
}
function requiresNotNullString(): void
var name: string | null;
var checkedName: string = defaultValue(name, "Fred");
换句话说,如果函数的输入是string | null
,我希望返回类型为string
这可能吗?
答案 0 :(得分:1)
怎么样:
function defaultValue<T>(value: T | null, defaultValue: T): T {
return value == null ? defaultValue : value
}
(已将其更改为defaultValue
,因为无法使用default
(@ example in playground由@Roaders提供)