当前位置:首页 > JavaScript

js 实现super

2026-02-02 10:57:21JavaScript

实现 super 的方法

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

在构造函数中调用 super

在子类的构造函数中,必须调用 super() 才能正确初始化父类的属性。

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

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

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

在方法中调用 super

super 也可以用于调用父类的方法。

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 访问父类的静态方法

super 还可以用于调用父类的静态方法。

class Parent {
  static getMessage() {
    return 'Static message from Parent';
  }
}

class Child extends Parent {
  static getMessage() {
    return `${super.getMessage()} and Child`; // 调用父类的静态方法
  }
}

console.log(Child.getMessage()); // 'Static message from Parent and Child'

注意事项

  • 在子类的构造函数中,super() 必须在使用 this 之前调用,否则会抛出错误。
  • 如果子类没有定义构造函数,JavaScript 会默认调用 super()
  • super 只能在类的方法中使用,不能在普通函数中使用。
class Parent {}

class Child extends Parent {
  constructor() {
    // 如果不调用 super(),会抛出错误
    this.name = 'Alice'; // ReferenceError: Must call super constructor in derived class
    super();
  }
}

js 实现super

标签: jssuper
分享给朋友:

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的H…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…