JavaScript · ES6 Class继承

码影织网
• 阅读 1112
写在前面

ES6后,Class的出现极大地简化了JavaScript的继承。
不过原型是JavaScript的基础,也是JavaScript的精髓所在。对于原型继承,请参考另一篇文章:《JavaScript · 原型继承》

Class继承
class Student {
    constructor(name) {
        this.name  = name;
    }
    getName() {
        console.log(this.name);
    }
}

class PrimaryStudent extends Student {
    constructor(name, grade) {
        super(name);
        this.grade = grade;
    }
    getName() {
        super.getName();
        console.log(`Nickname: 'mi'`);
    }
    getGrade() {
        console.log(this.grade);
    }
}

var o1 = new Student('lala');
var o2 = new PrimaryStudent('fafa','grade 4');

o1 // Student {name: "lala"}
o1.getName(); // lala

o2 // PrimaryStudent {name: "fafa", grade: "grade 4"}
o2.getName(); // fafa Nickname:mi
o2.getGrade(); // grade 4
点赞
收藏
评论区
推荐文章
ZY ZY
4年前
js继承的几种方式
1.原型链继承原型链继承:想要继承,就必须要提供父类(继承谁,提供继承的属性)//父级functionPerson(name)//给构造函数添加参数this.namename;this.age10;this.sumfunction()console.log(this.name)//原
Stella981 Stella981
3年前
JavaScript prototype原型用法
JavaScript对象原型所有JavaScript对象都从原型继承属性和方法。<!DOCTYPEhtml<html<metacharset"utf8"<titlejs</title<body<h2JavaScript对象</h2
Stella981 Stella981
3年前
JavaScript学习总结(十七)——Javascript原型链的原理
一、JavaScript原型链ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。在JavaScript中,用__proto__属性来表示一个对象的原型链。当查找一个对象的属性时,JavaScript会向上遍历原型
Stella981 Stella981
3年前
JavaScript中的原型
!(https://oscimg.oschina.net/oscnet/up81f7c25308eb8b2d818be41a687597406b9.JPEG)PhotobyDlanorS(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Funsplash.com%2F%40
Stella981 Stella981
3年前
Javascript 是如何体现继承的 ?
js继承的概念js里常用的如下两种继承方式:原型链继承(对象间的继承)类式继承(构造函数间的继承) 由于js不像java那样是真正面向对象的语言,js是基于对象的,它没有类的概念。所以,要想实现继承,可以用js的原型prototype机制或者用apply和call方法去实现在面向对象的语言中,我们使用类来创建一个自定义对象
Stella981 Stella981
3年前
ES6中的super
对象方法中的super原型对于javascript来说非常重要,甚至可以说是javascript中最为重要的知识点。然而,很多人一看到原型就懵逼。ES5我们可以使用Object.getPrototypeOf()来返回原型对象,使用Object.setPrototypeOf()来设置原型对象。看下面的例子:letpe
Wesley13 Wesley13
3年前
JS原型、原型链深入理解
原型是JavaScript中一个比较难理解的概念,原型相关的属性也比较多,对象有”prototype”属性,函数对象有”prototype”属性,原型对象有”constructor”属性。原型是JavaScript中一个比较难理解的概念,原型相关的属性也比较多,对象有”prototype”属性,函数对象有”prototype”属性,原型对
Stella981 Stella981
3年前
JavaScript 基于原型链的继承
JavaScript对象是动态的属性“包”(指其自己的属性)。JavaScript对象有一个指向一个原型对象的链。当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。遵循ECMAScript标准,someObject.Prototype
Stella981 Stella981
3年前
JavaScript基础之原型
!(https://oscimg.oschina.net/oscnet/ff99d8a20991459791c13e05dcc12e19.png)!(https://oscimg.oschina.net/oscnet/046cfb95612c423581bb3e09a300ea43.jpg)JS中每个函数都可以看成一个对象,而
Stella981 Stella981
3年前
Javascript中,实现类与继承的方法和优缺点分析
Javascript是一种弱类型语言,不存在类的概念,但在js中可以模仿类似于JAVA中的类,实现类与继承第一种方法:利用Javascript中的原型链1//首先定义一个父类23functionAnimal(name,age){4//定义父类的属性5thi
Stella981 Stella981
3年前
Javascript继承5:如虎添翼
/寄生式继承其实就是对原型继承的第二次封装,在封装过程中对继承的对象进行了扩展。也存在原型继承的缺点!!这种思想的作用也是为了寄生组合式继承模式的实现。///声明基对象varbook{name:'jsbook',al
码影织网
码影织网
Lv1
流浪的月亮和繁密的星辰姗姗来迟。
文章
4
粉丝
0
获赞
0