JavaScript new keyword specifics and tricks

Просто несколько трюков на JavaScript, которые становятся понятными если разобраться, как работает прототипная модель JS. Может пригодится для собеседований :wink:

var A = function () {};

var f = function () {
    return A;
};

var a = f();
a === A;
// true

var a = new f();
a === A;
// true

var a = new f;
a === A;
// true

var a = new new f();
a instanceof A;
// true

var a = new (f());
a instanceof A
// true

var a = new f()();
a === undefined;
// true

var a = new (f())();
a instanceof A;
// true
1 лайк