当前位置:首页 > 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轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现vue路由

js实现vue路由

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

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js实现路由

js实现路由

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

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…