返回

尽在掌握,TS中的类是怎么写的?

前端

大家一起来养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第8天,点击查看活动详情

相信很多人都知道,TS 是一种广泛应用的类型化编程语言,它能够帮助开发者构建可靠、可维护且可扩展的大型应用程序。当然,类是 TS 中的重要组成部分,本文将具体讲解 TS 中类是如何编写的。

首先,我们来看一个 TS 中类的基本写法:

class Person {
  name: string;
  age: number;

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

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

在这个例子中,我们定义了一个名为 Person 的类,它有两个属性 nameage,以及一个 greet() 方法。

需要注意的是,在 TS 中,类中的属性和方法都需要加上类型注解。这是因为 TS 是一种静态类型语言,它需要在编译时就能知道变量和函数的类型。

当然,TS 还支持继承和多态性。比如,我们可以定义一个 Student 类,它继承自 Person 类:

class Student extends Person {
  studentId: number;

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

  study() {
    console.log(`I am a student and my student ID is ${this.studentId}.`);
  }
}

在这个例子中,Student 类继承了 Person 类中的 nameage 属性,以及 greet() 方法。此外,Student 类还定义了一个新的属性 studentId 和一个新的方法 study()



在 TS 中,我们可以通过 `new` 来创建一个类的实例: ```typescript const person = new Person('John', 30); person.greet(); // Hello, my name is John and I am 30 years old.

const student = new Student('Mary', 20, 12345);
student.greet(); // Hello, my name is Mary and I am 20 years old.
student.study(); // I am a student and my student ID is 12345.


TS 中的类还支持一些其他的特性,比如访问修饰符、泛型、抽象类等。这些特性可以让 TS 类更加灵活和强大。

总体而言,TS 中的类是一种非常强大的工具,它可以帮助开发者构建出更加复杂和可维护的应用程序。