TypeScript中的类型

2023-05-22 09:33:56 浏览数 (1)

基本类型

布尔类型 (boolean)

布尔类型表示一个值为真或假的逻辑值。

代码语言:javascript复制
let isDone: boolean = false;

数字类型 (number)

数字类型表示整数或浮点数。

代码语言:javascript复制
let count: number = 10;
let price: number = 3.99;

字符串类型 (string)

字符串类型表示一串字符。

代码语言:javascript复制
let message: string = "Hello, TypeScript!";

数组类型 (array)

数组类型表示一个元素的集合。

代码语言:javascript复制
let numbers: number[] = [1, 2, 3, 4, 5];
let fruits: Array<string> = ["apple", "banana", "orange"];

元组类型 (tuple)

元组类型表示一个已知长度和类型的数组。

代码语言:javascript复制
let person: [string, number] = ["John", 25];

枚举类型 (enum)

枚举类型表示一组具名的常量值。

代码语言:javascript复制
enum Color {
  Red,
  Green,
  Blue,
}

let color: Color = Color.Red;

任意类型 (any)

任意类型表示可以是任意类型的值。

代码语言:javascript复制
let value: any = "Hello";
value = 10;
value = true;

空类型 (void)

空类型表示没有任何返回值的函数。

代码语言:javascript复制
function showMessage(): void {
  console.log("Hello");
}

高级类型

联合类型 (union)

联合类型表示一个值可以是多个类型中的一个。

代码语言:javascript复制
let value: string | number = "Hello";
value = 10;

交叉类型 (intersection)

交叉类型表示多个类型的组合。

代码语言:javascript复制
interface A {
  name: string;
}

interface B {
  age: number;
}

type C = A & B;

let person: C = {
  name: "John",
  age: 25,
};

函数类型 (function)

函数类型表示函数的参数和返回值类型。

代码语言:javascript复制
type AddFunc = (a: number, b: number) => number;

let add: AddFunc = (a, b) => a   b;

类型别名 (type)

类型别名可以为一个类型定义一个别名。

代码语言:javascript复制
type Point = {
  x: number;
  y: number;
};

let p: Point = {
  x: 10,
  y: 20,
};

接口 (interface)

接口定义了一个对象的属性和方法。

代码语言:javascript复制
interface Person {
  name: string;
  age: number;
}

let person: Person = {
  name: "John",
  age: 25,
};

类型断言

类型断言允许我们在编译期间告诉编译器变量的实际类型。

代码语言:javascript复制
let value: any = "Hello";
let length: number = (value as string).length;

0 人点赞