JSFiddle - React, Tailwind, and code Playground

by amatiasq

HTML

<script src="http://amatiasq.com/fiddle-console.js"></script>

JavaScript

// función de ejecución inmediata, se crea, se ejecuta y no se vuelve a utilizar
// es el closure que guardará la privacidad
(function(global) {
    function Papel() { }
    Papel.prototype = {
        hayPapelEn: function(impresora) {
            // no hay papel
            return false;
        },
        pedirAlUsuario: function() {
            console.log("Oye tu! ponme papel!");
        }
    };
    
    var papel = new Papel();
    
    function Impresora() { }
    Impresora.prototype = {
        imprimir: function(datos) {
            if (!papel.hayPapelEn(this))
                papel.pedirAlUsuario();
            // imprimir
        }
    };
    
    global.Impresora = Impresora;
})(this);

var temp = new Impresora();
temp.imprimir();