• ts如何使用class类?与js的class类有什么区别?


    类的简介

    类(class): 定义了一切事物的抽象特点(属性和方法)
    对象(object): 类的实例(通过 new 来生成)
    面向对象特点: 封装,继承,多态

    • 封装: 将操作数据的细节隐藏起来,只暴露接口, 调用者只需要通过接口来访问对象
    • 继承: 子类继承父类, 子类除了拥有父类的特性外还可以拥有更加具体的特性
    • 多态: 同一个方法可以有不同的响应(猫和狗都继承自动物类,但是他们叫声各有不同)

    在ts中如何使用class类呢?

    定义

    class 类名 { }

    使用

    const 形参 = new 类名(传参)

    class Fn {
    	name: string = '你吃饭了吗?'
    }
    const fn = new Fn
    console.log(fn.name)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    我这里使用的是 Code Runner这个插件,可以直接执行当前文件
    在这里插入图片描述


    ts的class类和js的class类有什么区别吗?

    ts的特有属性:修饰符

    public 公开的

    默认公共 public 自由访问程序里定义的变量和方法
    在这里插入图片描述

    private 私有的

    私有的 private 当成员被标记为私有属性,只能在类进行使用,不能外部使用,子类也不可访问

    在这里插入图片描述


    这边继承也是无法使用的
    在这里插入图片描述


    使用方式
    在这里插入图片描述


    protected 受到保护的

    受保护的 protected private相似,唯一不同的是,被protected修饰的属性可以在子类中访问
    在这里插入图片描述

    static 静态的

    当类中的方法被声明 为 static 时,其 实例化对象,不可调用该方法,只有类本身 ,以及其子类可以调用。


    这里使用实例化打印Fn这个类的时候,会发现定义static的属性已经消失了
    在这里插入图片描述


    如何获取静态属性呢?
    在这里插入图片描述

    readonly 只读的

    readonly人们常常与const相比,使当前的实例属性是只读的,不可以修改


    如何修改实例属性呢?

    在这里插入图片描述


    修改静态属性
    在这里插入图片描述


    如何获取readonly的属性
    在这里插入图片描述
    当你要修改只读属性的时候在这里插入图片描述

    小锦囊

    staticreadonly 是可以一起使用的.
    在这里插入图片描述


    但是 划重点了啊
    static 必须在前面,因为static决定了你的访问方式,默认是实例化属性,但是是需要先将实例化属性改为静态属性才能继续获取到里面的参数
    在这里插入图片描述

  • 相关阅读:
    MySQL的备份与恢复以及日志管理
    Vue项目中组件相互引用,组件不能正常注册,控制台警告处理
    【精讲】mustache表达式写法、vue常用指令、v-bind多种绑定事件、技能提升
    记一次前端CryptoJS AES解密
    彻底搞通服务发现的原理和实现
    git创建公钥到gitlab并拉取gitlab代码
    使用canvas制作一个无人机旋转特效
    Java-KoTime:热更新-不重启替换代码
    19.段页结合的实际内存管理
    gdb操作系统开发的调试器
  • 原文地址:https://blog.csdn.net/Youyzq/article/details/126486462