TypeScript 数据类型

TypeScript 数据类型

TypeScript 具有丰富的数据类型,包括:

  • 基本类型:Number、String、Boolean、Array、Tuple、Enum、Any、Void、Null、Undefined
  • 复杂类型:Object、Function、Class、Interface、Type Alias、Generics

基本类型

基本类型包括:Number、String、Boolean、Array、Tuple、Enum、Any、Void、Null、Undefined。

Number

Number 类型用于表示数值,包括整数和浮点数。

let num1: number = 10;
let num2: number = 3.14;

String

String 类型用于表示字符串。

let str1: string = "Hello, world!";
let str2: string = 'Hello, world!';

Boolean

Boolean 类型用于表示布尔值,只有两个取值:true 和 false。

let bool1: boolean = true;
let bool2: boolean = false;

Array

Array 类型用于表示数组,可以存储不同类型的数据。

let arr1: number[] = [1, 2, 3];
let arr2: string[] = ["apple", "banana", "orange"];
let arr3: boolean[] = [true, false, true];

Tuple

Tuple 类型用于表示元组,可以存储不同类型的数据,并且元素的数量和类型都可以自定义。

let tuple1: [string, number] = ["apple", 10];
let tuple2: [string, boolean, number] = ["apple", true, 10];

Enum

Enum 类型用于表示枚举,可以将一组相关常量定义为一个整体。

enum Color {Red, Green, Blue};
let c1: Color = Color.Red;
let c2: Color = Color.Green;
let c3: Color = Color.Blue;

Any

Any 类型用于表示任意类型,可以用于任何场景。

let any1: any = 10;
let any2: any = "Hello, world!";
let any3: any = true;

Void

Void 类型用于表示没有任何类型,通常用于函数没有返回值的场景。

function sayHello(): void {
  console.log("Hello, world!");
}

Null

Null 类型用于表示空值,表示一个空对象指针。

let null1: null = null;

Undefined

Undefined 类型用于表示未定义的值,表示变量没有被赋值。

let undefined1: undefined = undefined;

复杂类型

复杂类型包括:Object、Function、Class、Interface、Type Alias、Generics。

Object

Object 类型用于表示对象,可以存储任意类型的数据。

let obj1: object = {name: "John", age: 30};
let obj2: object = [1, 2, 3];
let obj3: object = "Hello, world!";

Function

Function 类型用于表示函数,可以定义函数类型,并可以作为参数传递。

function add(x: number, y: number): number {
  return x + y;
}

let func1: (x: number, y: number) => number = add;

Class

Class 类型用于表示类,可以定义类的属性和方法。

class Person {
  name: string;
  age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }

  sayHello() {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
  }
}

let p1: Person = new Person("John", 30);
p1.sayHello();

Interface

Interface 类型用于表示接口,可以定义类的属性和方法。

interface Person {
  name: string;
  age: number;
  sayHello(): void;
}

class Student implements Person {
  name: string;
  age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }

  sayHello() {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
  }
}

let s1: Student = new Student("Jane", 25);
s1.sayHello();

Type Alias

Type Alias 类型别名用于给一个类型定义一个新的名称。

type Name = string;
type Age = number;

let name1: Name = "John";
let age1: Age = 30;

Generics

Generics 泛型用于表示一个类型参数,可以用于定义可复用的函数和类。

function add<T>(x: T, y: T): T {
  return x + y;
}

let result1 = add<number>(10, 20);
let result2 = add<string>("Hello, ", "world!");

参考

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值