当前位置:首页 > JavaScript

extends实现js

2026-01-31 12:58:50JavaScript

extends实现js

使用 extends 实现 JavaScript 继承

在 JavaScript 中,extends 关键字用于实现类之间的继承。通过 extends,子类可以继承父类的属性和方法,同时可以扩展或重写父类的功能。

extends实现js

基本语法

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

  greet() {
    console.log(`Hello, ${this.name}`);
  }
}

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

  greet() {
    super.greet(); // 调用父类的 greet 方法
    console.log(`I am ${this.age} years old`);
  }
}

const child = new Child('Alice', 10);
child.greet();

关键点

  • super 关键字用于调用父类的构造函数或方法。
  • 子类的构造函数中必须先调用 super(),才能使用 this
  • 子类可以重写父类的方法,同时通过 super 保留父类的逻辑。

继承内置类

extends 也可以用于继承 JavaScript 的内置类,例如 ArrayError

class CustomArray extends Array {
  getFirstElement() {
    return this[0];
  }
}

const arr = new CustomArray(1, 2, 3);
console.log(arr.getFirstElement()); // 1

注意事项

  • 如果子类没有定义 constructor,JavaScript 会自动调用父类的 constructor
  • 静态方法也会被继承,可以通过 super 调用父类的静态方法。
class Parent {
  static staticMethod() {
    console.log('Parent static method');
  }
}

class Child extends Parent {
  static staticMethod() {
    super.staticMethod();
    console.log('Child static method');
  }
}

Child.staticMethod();

标签: extendsjs
分享给朋友:

相关文章

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…