JSFiddle - React, Tailwind, and code Playground

by coiscir

JavaScript

(function () {
    function Person() {}
    
    Person.prototype.sayHello = function() {
        alert("Hello World");
    }
    
    function Ninja() {}
    
    Ninja.prototype.swingSword = function() {
        alert("I can swing my sword.");
    }
    
    Ninja.prototype = new Person();
    
    var ninja1 = new Ninja();
    
    console.log('a', typeof ninja1.swingSword); // undefined
})();

(function () {
    function Person() {}
    
    Person.prototype.sayHello = function() {
        alert("Hello World");
    }
    
    function Ninja() {}
    
    Ninja.prototype = new Person();
    
    Ninja.prototype.swingSword = function() {
        alert("I can swing my sword.");
    }
    
    var ninja1 = new Ninja();
    
    console.log('b', typeof ninja1.swingSword); // function
})();

(function () {
    function Person() {}
    
    Person.prototype.sayHello = function() {
        alert("Hello World");
    }
    
    function Ninja() {}

    Ninja.prototype.swingSword = function() {
        alert("I can swing my sword.");
    }

    var ninja1 = new Ninja();

    Ninja.prototype = new Person(); // won't affect `ninja1`

    var ninja2 = new Ninja();

    console.log('c', typeof ninja1.swingSword); // function
    console.log('d', typeof ninja2.swingSword); // undefined
})();