2020-05-14 05:13:55
在 TypeScript 中,基本类型是构建更复杂类型的基础。以下是 TypeScript 中的基本类型及其说明:
number:表示数字类型,包括整数和浮点数。
let a: number;a = 10; // 正确// a = '222'; // 错误string:表示字符串类型。
let str: string;str = "哈哈大会上的话"; // 正确boolean:表示布尔类型,即 true 或 false。
let c: boolean = true; // 正确字面量类型:表示具体的值。
let aa: 10;aa = 10; // 正确// aa = 11; // 错误let aaa: '111' | '222';aaa = '111'; // 正确aaa = '222'; // 正确// aaa = '333'; // 错误any:表示任意类型,可以赋值给任何变量。
let aaaa: any;aaaa = 10; // 正确aaaa = "sss"; // 正确aaaa = true; // 正确unknown:表示未知类型,不能直接赋值给其他变量。
let b: unknown;b = 10; // 正确b = "sss"; // 正确b = true; // 正确// 类型断言aaaa = b as string; // 正确aaaa = <string>b; // 正确void:表示空类型,通常用于函数没有返回值。
function fn(): void { // return 1111; // 错误}never:表示永远不会返回结果的类型,通常用于抛出错误的函数。
function fn1(): never { throw new Error("报错了");}object:表示 JavaScript 对象。
let bb: object;bb = {}; // 正确bb = function() {}; // 正确对象类型:可以定义对象的属性和类型。
let bbb: { name: string };bbb = { name: 'sss' }; // 正确// bbb = { hhh: 'sss' }; // 错误let c: { name: string; age?: number }; // ? 表示可选属性c = { name: 'sss', age: 15 }; // 正确let cc: { name: string, [propName: string]: any }; // 任意属性cc = { name: 'sss', age: 14, hh: "sss" }; // 正确函数类型:定义函数的参数和返回值类型。
let ccc: (a: number, b: number) => number;ccc = function(n1, n2) { return n1 + n2;};ccc(11, 22); // 正确数组类型:表示特定类型的数组。
let d: string[]; // 字符串数组d = ['qq', 'ww', 'eee']; // 正确let d1: number[]; // 数字数组let d2: Array<number>; // 数字数组d1 = [11, 33, 4, 5]; // 正确d2 = [11, 33, 4, 5]; // 正确元组:固定长度的数组,每个元素可以有不同的类型。
let dd: [string, string];dd = ["ssss", 'ss']; // 正确// dd = [11, 'ss']; // 错误枚举:定义一组命名常量。
enum Gender { male, nv}let e: { name: string, gender: Gender };e = { name: 'wwww', gender: Gender.nv};console.log(e.gender); // 输出 1console.log(Gender.nv); // 输出 1console.log(Gender.male); // 输出 0交叉类型:使用 & 表示多个类型的组合。
let ee: { name: string } & { age: number };ee = { name: 'sss', age: 23 }; // 正确// ee = { name: 'sss' }; // 错误类型别名:使用 type 定义类型的别名。
type myType = 1 | 2 | 3 | 4 | 5;let f: myType;let ff: myType;f = 1; // 正确// f = 6; // 错误这些基本类型是 TypeScript 类型系统的基石,通过组合和扩展这些类型,可以构建出更复杂和精确的类型定义。