Почему настройка свойства prototype для функции конструктора на null
не препятствует вызовам объектов, созданных из этой функции, методам на Object.prototype
, таким же образом, что установка прототипа на Object.create(null)
Вот почему это так:
function Foo(){}
Foo.prototype = null;
console.log(new Foo().toString); //outputs function toString() { [native code] } (or whatever)
function Foo(){}
Foo.prototype = Object.create(null);
console.log(new Foo().toString); //output undefined