typeScript学习总结

一.杂

? 非空断言   readonly 只读属性   

[propName:string]:ang   接口以外定义属性,自定义属性

二.super()和this()

父类:基类,子类:派生类

super:是调用父类空构造函数(constructor),因为存在重载

this:是调用本类空构造函数

1.如果派生类中构造函数没有调用super,则系统会默认调用父类空构造函数,基类或派生类中没有构造函数,系统会默认添加空构造函数

2.在子类里用super和this调父类方法无差(super不能调用父类变量);

3.无论基类中是否存在构造函数,只要派生类存在构造函数,则必须调用super()。而如果在派生类中如果不需要重写构造函数,则可省略构造函数

    class Father {
        name = "father";
        fun1() {
            console.log("方法一")
        }
    }

    class Son extends Father {
        sex = "nv";
        fun2() {
            console.log("方法二")
        }
        fun3() {
            super.fun1()
            console.log(super.name)
        }
        fun4() {
            console.log(this.name)
        }
    }

    let son1 = new Son();
    son1.fun3()
    son1.fun4()

三.类修饰符

public:公开访问权限

private:只在当前类可以使用

protected:只能在当前类和子类中使用

readonly 只读属性

四.static

class son{
    static name1:string="默认name";
    sex:string="nv"
}
let son1=new son();
console.log(son.name1);
console.log(son1.sex);

静态属性通过类本身访问,非静态属性通过实例访问

五.abstract

1.抽象成员(属性和方法)只能存在于抽象类当中   

2. 抽象类不能被实例化 (不能new)

3.继承了抽象类的子类必须实现抽象类中的抽象方法   

4. 抽象方法可以和修饰符一起使用,但是不能和private一起使用

六.装饰器

泛型,枚举,高级,装饰器

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值