我有一个成员变量定义为联合类型,原语(Number)或接口(KnockoutObservable),并且我使用instanceof或typeof typeguards时都会产生错误。我使用的是带有Typescript 1.4的VS2013更新4。else if (var1 instanceof foo) { }
// This also breaks, same error as aboveif (var1 instanceof number)
需要键入保护,但instanceof不适用于TypeScript type的:const isLetter = (c: any): c is Letter=> c instanceof Letter; // Error: 'Letter' only refers to a type, but is being used as a value here.适用于类:const is
我希望在使用之前能够确定某物的类型。因此,当字段为布尔值时,我希望将值"y“和"N”转换为布尔值。下面是一个对象的示例: id: string; bar: boolean;我已经尝试过执行此代码,但在设置值之前,它会返回undefined……然而,到那时,我已经覆盖了对象应该是什么(就像它现在是字符串一样)。
我写了这段代码 abcdef: number; // ...但是TypeScript给了我这个错误:
'Foo' only refers to a type, but is being used as a value here.我认为instanceof可以检查我的值是否具有给定的类型,但是TypeScript似乎不喜欢这个类型。