原型继承共享属性和方法

时间:2018-04-22 06:12:13

标签: javascript

这是正确的原型继承吗?这共享基类的属性和方法。 'class'是一种语法糖。我想知道它是否与我在此代码中完全相同。

    let Animal = function () {
        this.eats = true;
    }

    Animal.prototype.run = function () {
        console.log("Running");
    }

    let Lion = function () {
        // Call the base class constructor
        Animal.call(this);
        this.roar = function () {
            console.log("Roraring");
        }
    }

    // Setup the prototype
    Lion.prototype = Object.create(Animal.prototype);

    // It is a good practice to set the constructor back to original
    Lion.prototype.constructor = Lion;

    var lion1 = new Lion();
    lion1.run();
    console.log(lion1.eats);

1 个答案:

答案 0 :(得分:1)

是的,我已经看到您正在使用与MDN原型继承页面中定义完全相同的模式。 Class关键字是js中的一个语法糖,是正确的。对于使用"类"可以使用的原型,绝对没有什么不能做的。关键字。