super的使用

1、继承而来的类 constructor 方法中的this必须在super之后

2、例1的代码会报错,因为VideoIntercomDevice 调用了super但是super没有传参,是个undefined,undefined去结构就会报错的,纠正的话改为 super({})

3、那我好奇,到底super复制的属性级别更高,还是子类中this指定的值等级更高,见例2,结论:无所谓级别高低,会覆盖掉

例1:

javascript 复制代码
class Config {
  constructor() {
    console.log('Config调用')
    this.id = 0;
  }
}
class AccessDevice extends Config {
  constructor({ id, isCsJump }) {
    console.log('AccessDevice')
    super();
    this.id = id;
    this.isCsJump = isCsJump;
  }
}
class VideoIntercomDevice extends AccessDevice {
  constructor({ id, isCsJump }) {
    console.log('1', id, isCsJump)
    super()
    console.log('id', id)
    this.id = 9;
    this.isCsJump = isCsJump;
  }
}
let ad = new VideoIntercomDevice({id: 1,isCsJump: true})
console.log(ad)

// 最终会打印:1 1 true
相关推荐
saberxyL11 分钟前
通过<RouterView/>来切换页面组件时,transition如何生效?
vue.js
jason_yang16 分钟前
vue3中createApp多个实例共享状态
javascript·vue.js
_瑶瑶_17 分钟前
浅记一下ElementPlus中的虚拟化表格(el-table-v2)的简单使用
前端·javascript
Drift_Dream25 分钟前
ResizeObserver:轻松监听元素尺寸变化
前端
拉不动的猪34 分钟前
Axios 请求取消机制详解
前端·javascript·面试
该用户已不存在37 分钟前
2025 年 8 款最佳远程协作工具
前端·后端·远程工作
lxh01131 小时前
螺旋数组题解
前端·算法·js
E***U9451 小时前
前端安全编程实践
前端·安全
老华带你飞1 小时前
海产品销售系统|海鲜商城购物|基于SprinBoot+vue的海鲜商城系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·海鲜商城购物系统
x***B4111 小时前
React安全编程实践
前端·安全·react.js