D. *_*ick 10 typescript typeguards
是否可以创建一个用户定义的类型保护,让编译器知道传递给它的所有参数都已定义?
我想做这样的事情:
public static all(...values: unknown[]): values is object[] {
return values.every(value => typeof(value) !== 'undefined');
}
Run Code Online (Sandbox Code Playgroud)
我想使用它,以便我可以传递一组可能未定义的参数,处理它们未定义时发生的情况,否则将它们传递给需要值不是未定义的方法。
这可能看起来像这样:
if (!ParamHelper.all(id, ...dateParts)) { return []; }
const date = new Date(dateParts.join('-'));
const result = await this.service.getData(assetId, date);
Run Code Online (Sandbox Code Playgroud)
当我尝试上面的简单版本时,编译器告诉我:
类型谓词不能引用剩余参数
所以,我目前认为这是不可能完成的。但是,我想在放弃之前我应该问一下。
谢谢!
| 归档时间: |
|
| 查看次数: |
1732 次 |
| 最近记录: |