likes
comments
collection
share

TypeScript-起步——TypeScript类、接口(一)

作者站长头像
站长
· 阅读数 35

1、类

① 认识类的使用

  1. 在早期的JavaScript开发中(ES5)我们需要通过函数和原型链来实现类和继承,从ES6开始,引入了class关键字,可以更加方便的定义和使用类。

  2. TypeScript作为JavaScript的超集,也是支持使用class关键字的,并且还可以对类的属性和方法等进行静态类型检测。

  3. 实际上在JavaScript的开发过程中,我们更加习惯于函数式编程:

    • 比如React开发中,目前更多使用的函数组件以及结合Hook的开发模式;
    • 比如在Vue3开发中,目前也更加推崇使用 Composition API;
  4. 但是在封装某些业务的时候,类具有更强大封装性,所以我们也需要掌握它们。

  5. 类的定义我们通常会使用class关键字:

    • 在面向对象的世界里,任何事物都可以使用类的结构来描述;
    • 类中包含特有的属性和方法;

② 类的定义

  1. 使用class来定义一个Person类:

    class Person {
      username: string
      age: number
    
      constructor(username: string, age: number) {
        this.username = username
        this.age = age
      }
    
      eating() {
        console.log(this.username + ' eating');
      }
    }
    
    const p = new Person('liangshuang', 21)
    
    console.log(p.username) // liangshuang
    console.log(p.age) // 21
    p.eating() // liangshuang eating
    
  2. 我们可以声明一些类的属性:在类的内部声明类的属性以及对应的类型

    • 如果类型没有声明,那么它们默认是any的;

    • 我们也可以给属性设置初始化值;

    • 在默认的strictPropertyInitialization模式下面我们的属性是必须初始化的,如果没有初始化,那么编译时就会报错;

      1. 如果我们在strictPropertyInitialization模式下确实不希望给属性初始化,可以使用 name!: string语法;
  3. 类可以有自己的构造函数constructor,当我们通过new关键字创建一个实例时,构造函数会被调用;

    • 构造函数不需要返回任何值,默认返回当前创建出来的实例;
  4. 类中可以有自己的函数,定义的函数称之为方法;

转载自:https://juejin.cn/post/7138019097777799181
评论
请登录