interface Person { name: "string"; } type result = keyof Person; // type result = "name" 实战 在「TypeScript 之 Generic」这篇中就讲到了一个 keyof 的应用: 我们希望获取一个对象给定属性名的值,为此,我们需要确保我们不会获取 obj 上不存在的属性。所以我们在两个类型之间建立一个约束: fu...
其实 TypeScript 也可以支持 symbol 类型的属性名:const sym1 = Symbol();const sym2 = Symbol();const sym3 = Symbol();const symbolToNumberMap = { [sym1]: 1, [sym2]: 2, [sym3]: 3,};type KS = keyof typeof symbolToNumberMap; // typeof sym1 | typeof sym2 | typeof sym3...
type result = keyof typeof NumericObject // typeof NumbericObject 的结果为: // { // 1: string; // 2: string; // 3: string; // } // 所以最终的结果为: // type result = 1 | 2 | 3 Symbol 其实TypeScript 也可以支持 symbol 类型的属性名: const sym1 = Symbol(); const sym2 =...
其实TypeScript 也可以支持 symbol 类型的属性名: const sym1 = Symbol();const sym2 = Symbol();const sym3 = Symbol();const symbolToNumberMap = {[sym1]: 1,[sym2]: 2,[sym3]: 3,};type KS = keyof typeof symbolToNumberMap; // typeof sym1 | typeof sym2 | typeof sym3复制代码 ...
typeof 方法可以在类型上下文(type context)中使用,用于获取一个变量或者属性的类型。let s = "hello";let n: typeof s;// let n: string 如果仅仅用来判断基本的类型,自然是没什么太大用,和其他的类型操作符搭配使用才能发挥它的作用。举个例子:比如搭配 TypeScript 内置的 ReturnType<T> 。你传入一...
log(typeof "Hello world"); 而TypeScript 添加的 typeof 方法可以在类型上下文(type context)中使用,用于获取一个变量或者属性的类型。 let s = "hello"; let n: typeof s; // let n: string 如果仅仅用来判断基本的类型,自然是没什么太大用,和其他的类型操作符搭配使用才能发挥它的作用。 举个例子...
// type result = 1 对接口使用keyof: interface Person { name: "string"; } type result = keyof Person; // type result = "name" 实战 在「TypeScript 之 Generic」这篇中就讲到了一个keyof的应用: 我们希望获取一个对象给定属性名的值,为此,我们需要确保我们不会获取obj上不存在的属性。所以我...
typeof类型操作符(Thetypeoftype operator) JavaScript 本身就有typeof操作符,你可以在表达式上下文中(expression context)使用: // Prints "string"console.log(typeof "Hello world");复制代码 而TypeScript 添加的typeof方法可以在类型上下文(type context)中使用,用于获取一个变量或者属性的类型。
// type result = 1 对接口使用keyof: interface Person { name: "string"; } type result = keyof Person; // type result = "name" 实战 在「TypeScript 之 Generic」这篇中就讲到了一个keyof的应用: 我们希望获取一个对象给定属性名的值,为此,我们需要确保我们不会获取obj上不存在的属性。所以我...
console.log(typeof "Hello world"); 而TypeScript 添加的typeof方法可以在类型上下文(type context)中使用,用于获取一个变量或者属性的类型。 let s = "hello"; let n: typeof s; // let n: string 如果仅仅用来判断基本的类型,自然是没什么太大用,和其他的类型操作符搭配使用才能发挥它的作用。