首页 > 编程笔记 > JavaScript笔记
阅读:45
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,
};
ICP备案:
公安联网备案: