TS的类相关笔记

  • Post author:
  • Post category:其他


class 类在Js里面能够使用是在几年前发布的ES2015也就是咱们常说的ES6里面开始支持的。

这样我们前端在写Js的时候可以使用基于类的面向对象的方法。

下面来写一个例子

class A {
    a: string;
    constructor(msg: string) {
        this.a = msg
    }
    logA() {
        return 'Hello,' + this.a   
    }
}

let a2 = new A('World')

这里调用a2.logA()返回的就是Hello World

使用constructor定义构造函数,通过new生成新的实例的时候,会自动调用构造函数、

类继承

extends关键字实现,子类使用super关键字来调用父类的构造函数以及方法

class Person {
    constructor(name) {
        this.name = name
    }
    sayHi() {
        console.log(`hi ${this.name}`)
    }

}


class Xiaoming extends Person {

    constructor(name) {
        super(name)

        console.log(`>>>>>name${this.name}`)
    }
    sayHi() {
        return super.sayHi()
    }
} 

const a = new Xiaoming('小明')
a.sayHi()

此外,Typescript还有几种修饰符,public(公有), private(私有),protected(受保护),readonly(只读)

public默认所有的属性都是public,不做阐述

private,比如以下代码,vscode直接会报错,并指出错误

protected的话,跟private差不多,但是我们可以在继承的方法里面使用,比如

只读属性的话就不用说了,只能读取,不能更改

同时,TypeScript同样支持通过

getters/setters

来截取对对象成员的访问

还有一些什么static(静态属性),abstract(抽象类)个人没咋用过,就不写了。



版权声明:本文为qq_16932865原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。