资讯专栏INFORMATION COLUMN

es6--class以及类的继承

huangjinnan / 876人阅读

摘要:值得注意的是与完全不同的是不能通过父类参数来实现因为子类在没有调用父类的之前实例是没有的。

使用class
 class Miaov{
        constructor (a,b){   //构造对象的时候需要传递的对象
            this.a=a;
            this.b=b;
            return this;  //注意这里的return的值
        }
        print(){
            console.log(this.a+this.b)
        }
    }
    let mm=new Miaov(1,2); 
    mm.print();  //2

同时值得注意的是typeof Miaov 会返回function 所以class 只是一个语法糖
Miaov中的constructor方法是构造方法 this关键字代表的是实例对象 定义在class中的方法都是相当于定义在Miaov.prototype上边

与es5不同的是 es5中的构造函数可以直接调用 但是如果通过es6中的class声明的类不能直接调用

在class中定义的方法都需要return this 这样才可以进行链式调用
一个类必须有constructor 没有的话 class会使用一个空的构造函数(这个构造函数什么都不会做)
定义在类中的方法都是不可以被枚举的

class的继承 extends static super

在子类中的构造函数中必须先通过 super调用父类中的构造函数。值得注意的是与es5完全不同的是不能通过父类.call(this,参数)来实现 因为子类在没有调用父类的constructor之前实例是没有this的。

所以如果在子类的构造函数中需要使用this 必须先使用super() 来生成实例以后再使用this

super这个关键字不能在子类的其他方法中调用 除了子类的构造函数

          当出现在其他非构造方法中的时候  指的是父类的原型对象  不能当做函数调用

子类会继承父类多有的方法(包括静态)
static 方法 就将这个方法指定为静态方法

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88698.html

相关文章

  • ES6Class创建对象与继承实现

    摘要:使用类创建实例对象也是直接对类使用命令,跟中构造函数的用法一致。中没有构造函数,作为构造函数的语法糖,同时有属性和属性,因此同时存在两条继承链。子类的属性,表示构造函数的继承,总是指向父类。 1 Class in ES6 ES6提出了类(Class)的概念,让对象的原型的写法更像面向对象语言写法。 ES6中通过class定义对象,默认具有constructor方法和自定义方法,但是包含...

    zhou_you 评论0 收藏0
  • ES6Class创建对象与继承实现

    摘要:使用类创建实例对象也是直接对类使用命令,跟中构造函数的用法一致。中没有构造函数,作为构造函数的语法糖,同时有属性和属性,因此同时存在两条继承链。子类的属性,表示构造函数的继承,总是指向父类。 1 Class in ES6 ES6提出了类(Class)的概念,让对象的原型的写法更像面向对象语言写法。 ES6中通过class定义对象,默认具有constructor方法和自定义方法,但是包含...

    wind5o 评论0 收藏0
  • JavaScript 原型系统的变迁,以及 ES6 class

    摘要:一般我们对这种构造函数命名都会采用,并把它称呼为类,这不仅是为了跟的理念保持一致,也是因为的内建类也是这种命名。由生成的对象,其是。这是标准的规定。本文的主题是原型系统的变迁,所以并没有涉及和对原型链的影响。 概述 JavaScript 的原型系统是最初就有的语言设计。但随着 ES 标准的进化和新特性的添加。它也一直在不停进化。这篇文章的目的就是梳理一下早期到 ES5 和现在 ES6,...

    chuyao 评论0 收藏0
  • JavaScript 中的类和继承

    摘要:因为操作符创建的对象都继承自构造函数的属性。继承的实现中常用的继承方式是组合继承,也就是通过构造函数和原型链继承同时来模拟继承的实现。 原文发布在我的博客 我们都知道 JavaScript 是一门基于原型的语言。当我们调用一个对象本身没有的属性时,JavaScript 就会从对象的原型对象上去找该属性,如果原型上也没有该属性,那就去找原型的原型,一直找原型链的末端也就是 Object....

    rottengeek 评论0 收藏0
  • 《深入理解ES6》笔记—— JavaScript中的类class(9)

    摘要:新建一个类该函数返回一个类的实例给函数传入通过立即调用类构造函数可以创建单例。派生类是指继承自其它类的新类。在构造函数中访问之前要调用,负责初始化。在构造函数中使用通常表示当前的构造函数名。 ES5中的近类结构 ES5以及之前的版本,没有类的概念,但是聪明的JavaScript开发者,为了实现面向对象,创建了特殊的近类结构。 ES5中创建类的方法:新建一个构造函数,定义一个方法并且赋值...

    gggggggbong 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<