我有时不得不处理定义如下的对象:
value: T | undefined
在代码的某个时刻,我知道value
不能为undefined
,而我只是想将其作为T
。为此,我通常创建
一种方法:
public static getDefinedValue<T>(value: T | undefined): T {
if (value) {
return value;
} else {
throw Error('Yolo')
}
}
但是我觉得我的需求很普遍。是否已经有内置功能或更简洁的语法?
答案 0 :(得分:0)
您知道它们已定义,您可以使用as
直接输入。称为类型断言。
它看起来像(value as T)
,您可以将其“投射”到所需的类型。
您可以在此处查看其工作方式:
https://www.typescriptlang.org/docs/handbook/basic-types.html
如果您仍要确保未定义该值,则可以执行以下简单操作:
if (value) { (values as T)....}