[ECMAScript] 举例说明你对es6的extends的理解

Posted 前端小歌谣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ECMAScript] 举例说明你对es6的extends的理解相关的知识,希望对你有一定的参考价值。

[ECMAScript] 举例说明你对es6的extends的理解

es6引入的class其实本质上就是一个函数,而extends关键字则是通过原型实现继承,请看以下例子:

 class A 
            constructor() 
                this.a = 1;
                this.b = 2;
            
        
        class B extends A 
            constructor() 
                this.c = 3;
                this.d = 4;
            
        

es6代码经过babel编译后转化为es5的兼容性代码如下:

 "use strict";

        function _inheritsLoose(subClass, superClass) 
            subClass.prototype = Object.create(superClass.prototype);
            subClass.prototype.constructor = subClass;
            subClass.__proto__ = superClass;
        

        var A = /*#__PURE__*/function () 
            function A() 
                this.a = 1;
                this.b = 2;
            

            var _proto = A.prototype;

            _proto.print = function print() 
                console.log('print');
            ;

            return A;
        ();

        var B = /*#__PURE__*/function (_A) 
            _inheritsLoose(B, _A);

            function B() 
                var _this;

                _this = _A.call(this) || this;
                _this.c = 3;
                _this.d = 4;

                return _this;
            

            return B;
        (A);

 个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论



主目录

与歌谣一起通关前端面试题

以上是关于[ECMAScript] 举例说明你对es6的extends的理解的主要内容,如果未能解决你的问题,请参考以下文章

[ECMAScript] 谈谈你对es6的module体系的理解

[ECMAScript] 说说你对Babel的了解?

[ECMAScript] 举例说明拓展运算符有什么用途?

learn ES6

vue

[ECMAScript] 说说你对class的理解