TypeScript类型 : any,unknown,void,never,tuple
TypeScript 是 JavaScript 的超集,并且添加了一些静态类型的特性。在 TypeScript 中,有多种内建的数据类型,以下是其中一部分:
- any: 表示任意类型,可以赋予任何类型的值。
let x: any = 1; // x 是一个数字
x = 'Hello'; // x 是一个字符串
x = true; // x 是一个布尔值
- unknown: 表示未知类型,它是 any 类型的安全版本,不能直接赋值给其他类型,需要进行类型检查。
let x: unknown = 1; // x 是一个数字
let y: number = x; // 错误:不能将 unknown 赋值给 number
if (typeof x === 'number') {
let y: number = x; // 正确:类型检查通过
}
- void: 表示没有任何类型,通常用作函数没有返回值的返回类型。
function hello(): void {
console.log('Hello');
}
- never: 表示永远不会发生的值的类型。通常用作抛出错误或进入无限循环的函数表达式或箭头函数的返回类型。
function error(message: string): never {
throw new Error(message);
}
function infiniteLoop(): never {
while (true) {
}
}
- tuple: 表示一个固定长度的数组,每个位置都有特定的类型。
let x: [string, number];
x = ['Hello', 123]; // 正确
x = [123, 'Hello']; // 错误:类型不匹配
注意:以上代码示例均为 TypeScript 代码,需要在 TypeScript 环境中运行。
评论已关闭