js class定义类,私有属性,类继承,子类访问父类的方法,重写父类的方法

1.使用#定义私有属性

2.使用extends实现类继承

3.使用子类使用super访问父类的方法

4.子类可以重新父类的方法

javascript 复制代码
      class People {
        #hisroy = []
        getHistroy() {
          return [...this.#hisroy]
        }
        addHisroy(message) {
          this.#hisroy.push({
            role: 'user',
            message,
          })
          this.addHisroy2(message)
        }
        addHisroy2(message) {
          this.#hisroy.push({
            role: 'robot',
            message: 'Robot:' + message,
          })
        }
        addHisroy3(message) {
          this.#hisroy.push({
            role: 'user',
            message,
          })
        }
        clearHistory() {
          this.#hisroy = []
        }
      }
      class Student extends People {
        addHisroy(message) {
          if (message.includes('weather')) {
            super.addHisroy3(message)
            super.addHisroy2('天气晴朗')
          } else {
            super.addHisroy(message)
          }
        }
      }
      let p1 = new People()
      p1.addHisroy('hello')
      console.log(p1.getHistroy())
      p1.clearHistory()
      console.log(p1.getHistroy())

      let t1 = new Student()
      t1.addHisroy('hello')
      console.log(t1.getHistroy())
      t1.addHisroy('what is the weather?')
      console.log(t1.getHistroy())
      t1.clearHistory()
      console.log(t1.getHistroy())

https://www.kancloud.cn/fundebug/fundebug-blog/1039647

https://jamie.build/javascripts-new-private-class-fields.html

相关推荐
king王一帅9 分钟前
Incremark Solid 版本上线:Vue/React/Svelte/Solid 四大框架,统一体验
前端·javascript·人工智能
智航GIS5 小时前
10.4 Selenium:Web 自动化测试框架
前端·python·selenium·测试工具
前端工作日常5 小时前
我学习到的A2UI概念
前端
徐同保5 小时前
为什么修改 .gitignore 后还能提交
前端
一只小bit5 小时前
Qt 常用控件详解:按钮类 / 显示类 / 输入类属性、信号与实战示例
前端·c++·qt·gui
Mr -老鬼6 小时前
前端静态路由与动态路由:全维度总结与实践指南
前端
Nan_Shu_6146 小时前
学习: Threejs (1)
javascript·学习
颜酱7 小时前
前端必备动态规划的10道经典题目
前端·后端·算法
wen__xvn7 小时前
代码随想录算法训练营DAY10第五章 栈与队列part01
java·前端·算法
Van_Moonlight7 小时前
RN for OpenHarmony 实战 TodoList 项目:加载状态 Loading
javascript·开源·harmonyos