当前位置:首页 > JavaScript

js 实现super

2026-03-15 10:58:21JavaScript

在 JavaScript 中实现 super 的功能

JavaScript 中的 super 关键字用于调用父类的构造函数或方法。以下是几种常见场景的实现方法:

js 实现super

在构造函数中调用 super

class Parent {
  constructor(name) {
    this.name = name;
  }
}

class Child extends Parent {
  constructor(name, age) {
    super(name); // 调用父类的constructor
    this.age = age;
  }
}

const child = new Child('Alice', 10);
console.log(child.name); // 输出: Alice
console.log(child.age); // 输出: 10

在方法中调用父类方法

class Parent {
  greet() {
    return 'Hello from Parent';
  }
}

class Child extends Parent {
  greet() {
    return super.greet() + ' and Child'; // 调用父类的greet方法
  }
}

const child = new Child();
console.log(child.greet()); // 输出: Hello from Parent and Child

在静态方法中使用 super

class Parent {
  static staticMethod() {
    return 'Static Parent';
  }
}

class Child extends Parent {
  static staticMethod() {
    return super.staticMethod() + ' Static Child';
  }
}

console.log(Child.staticMethod()); // 输出: Static Parent Static Child

使用 Reflect 实现类似 super 的功能

const parent = {
  greet() {
    return 'Hello from Parent';
  }
};

const child = {
  greet() {
    return Reflect.get(parent, 'greet', this)() + ' and Child';
  }
};

Object.setPrototypeOf(child, parent);
console.log(child.greet()); // 输出: Hello from Parent and Child

注意事项

  • super 只能在派生类(使用 extends 的类)中使用
  • 在构造函数中使用 super 必须在访问 this 之前
  • 在普通方法中,super 指向父类的原型对象
  • 在静态方法中,super 指向父类本身

标签: jssuper
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…