ts 基本类型

ts 基本类型
最新回答
雨点躲日落

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 类型系统的基石,通过组合和扩展这些类型,可以构建出更复杂和精确的类型定义。