首页 > 解决方案 > 条件检查后强制变量为类型

问题描述

我编写了一个名为 isObject 的函数,它检查 value.constructor 是否是 Object 的。

const value:any = {};

if ( isObject(value) ) {
  // value type is still "any"
  // I want value type here to be known as {}
  // How do I do that?
}

标签: typescript

解决方案


您可以使用 Typescript 的类型谓词,但它需要您修改 isObject 函数:

isObject(val: any): val is Object {
  // return true if object, false if not.
}

推荐阅读