变量的
价值,我们只是做
console.log(someVar)
类型
?
type SomeUnion = 'foo' | 'bar' | 'baz'
console.log(SomeUnion)
// of course above will not work, but what will do?
// is there any TS tool that I am missing?
另外,对于那些可能不明白为什么需要这个的人,这里有一个更复杂的类型(来自
TS docs
):
type FunctionPropertyNames<T> = { [K in keyof T]:
T[K] extends Function ? K : never }[keyof T];
interface Part {
id: number;
name: string;
subparts: Part[];
updatePart(newName: string): void;
}
type T40 = FunctionPropertyNames<Part>; // "updatePart"
let foo: T40 = 'bar' // gives error: type "bar" is not assignable to type "updatePart"
换句话说,知道类型标识符背后隐藏着什么的唯一方法是生成一个类型错误,而这不应该是唯一的方法。