JSFiddle - React, Tailwind, and code Playground

by andypotanin

JavaScript

function Veneer() {
  return Veneer.prototype.constructor.apply( this, arguments )  
};

Veneer.prototype = Object.defineProperties( Veneer, {
    "constructor": {
        'value': function Template2() {
            console.log( 'new Tempalte Constructor' )        
            
            Veneer.prototype.constructor = function() {
                console.log( 'no more' );
            }
            
            return Veneer.prototype.constructor;
        },
        'enumerable': true        
    },
    "a_method": {
        value: function () {},
        enumerable: true
    },
    "a_string": {
        'value': "Hello",
        'enumerable': true,
        'writable': true
    },
     "private": {
        'value': {
            'some': 'data'
        },
        'enumerable': false
    }
});

console.clear();

new Veneer.prototype;
new Veneer.prototype;

console.log( typeof Veneer.prototype );

//var Instance = new Veneer();
//var Instance2 = new Veneer();

//console.log( 'Veneer', typeof Veneer );
//console.log( 'Instance', typeof Instance );
//console.log( 'Instance2', typeof Instance2 );