首页
学习
活动
专区
工具
TVP
发布
技术百科首页 >JavaScript >如何在JavaScript中实现继承?

如何在JavaScript中实现继承?

词条归属:JavaScript

在JavaScript中,可以使用原型继承或类继承来实现继承。

原型继承

JavaScript中的每个对象都有一个原型对象,可以通过该对象来继承其属性和方法。您可以使用Object.create()方法来创建一个新对象,并将其原型设置为另一个对象。这样,新对象就可以继承原型对象的属性和方法。

const parent = {

name: 'Parent',

sayName() {

console.log(this.name);

}

};

const child = Object.create(parent);

child.name = 'Child';

child.sayName(); // 输出 'Child'

在上面例子中,我们创建了一个parent对象,它有一个name属性和一个sayName()方法。然后,我们使用Object.create()方法创建了一个child对象,并将其原型设置为parent对象。由于child对象继承了parent对象的属性和方法,因此它也有一个sayName()方法,并且可以覆盖其原型对象中的name属性。

类继承

在ES6中,JavaScript引入了类(class)和继承的概念。您可以使用class关键字定义一个类,并使用extends关键字从另一个类继承。

class Parent {

constructor(name) {

this.name = name;

}

sayName() {

console.log(this.name);

}

}

class Child extends Parent {

constructor(name) {

super(name);

}

}

const child = new Child('Child');

child.sayName(); // 输出 'Child'

在上面例子中,我们定义了一个Parent类,并在其中定义了一个constructor()方法和一个sayName()方法。然后,我们定义了一个Child类,并使用extends关键字从Parent类继承。我们还定义了一个constructor()方法,该方法通过super()方法调用父类的构造函数,并将name属性传递给它。由于Child类继承了Parent类,因此它也有一个sayName()方法,并且可以使用super关键字访问其父类的方法。

相关文章
JavaScript实现继承
使用class继承非常简单。子类使用extends关键字表明继承于哪个类,并在子类中调用super(),这相当于使用call()改变this的指向。
不作声
2020-10-30
3910
JavaScript实现继承
本文不准备深入细节,主要是对《JavaScript高级程序设计中》介绍的JS如何实现继承做一个总结,毕竟好记性不如烂笔头。文末会附带一张神图,搞清楚这张图,原型链也就没有什么问题了。
leocoder
2018-10-31
6410
JavaScript实现继承
众所周知,JavaScript 这门语言在 ES6 出来之前是没有类(class)这一概念的,所以 JavaScript 中的类都是通过原型链来实现的。同样,使用 JavaScript 也能实现面向对象的实现继承。以下是《高程》(第三版)的读书笔记。
疯狂的技术宅
2019-03-28
4850
实现JavaScript继承
使用TypeScript或者ES2015+标准中的extends关键字是很容易实现继承的,但这不是本文的重点。JS使用了基于原型(prototype-based)的继承方式,extends只是语法糖,本文重点在于不使用extends来自己实现继承,以进一步理解JS中的继承,实际工作中肯定还是要优先考虑使用extends关键字的。
雪飞鸿
2020-12-29
5440
Javascript实现完美继承实现javascript完美继承要考虑三个方面:
实现javascript完美继承要考虑三个方面: 第一步: 获取父构造函数体内的属性 解决方法: 通过 Father.call(this)实现(这里的this是子构造函数) 第二步: 根据父构造函数
zhaoolee
2018-04-19
6910
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券