首页 > 编程笔记 > JavaScript笔记
阅读:14
TypeScript typeof的用法(附带实例)
在 JavaScript 中可以通过 typeof 获取一个表达式的类型名称;在 TypeScript 中,可以通过 typeof 获取一个表达式的类型,并且 typeof 只能用于类型约束。
请读者思考下面代码的运行结果:
TypeScript 中的 typeof,可以获取变量的类型、函数的类型或对象属性的类型,并用于类型约束,代码如下:
在 TypeScript 中,也可以为使用 typeof 获取的类型定义类型别名,并通过类型别名来进行类型约束,代码如下:
请读者思考下面代码的运行结果:
const person = { name: 'tom', age: 12 }; function fn(x: number): string { return x + 'aba'; } // JavaScript 的 typeof console.log(typeof person); // 'object' console.log(typeof fn); // 'function' console.log(typeof person.name); // 'string'上面代码打印的是类型名称,即代码中的 typeof 是 JavaScript 中的 typeof,而不是 TypeScript 中的 typeof。
TypeScript 中的 typeof,可以获取变量的类型、函数的类型或对象属性的类型,并用于类型约束,代码如下:
// 要求 a 的类型与 person 的类型一致 let a: typeof person = { name: 'jack', age: 23 }; // 要求 b 的类型与 fn 的类型一致 let b: typeof fn = (val: number): string => { return val.toString(); }; // 要求 b 的类型与 person 对象的 name 属性的类型一致 let c: typeof person.name = 'abc'; // c = 123; // error
在 TypeScript 中,也可以为使用 typeof 获取的类型定义类型别名,并通过类型别名来进行类型约束,代码如下:
type Person = typeof person; let d: Person = { name: 'bob', age: 25, };