Я пытаюсь получить контроль над конструкторами javascript и действительно ли они доступны только для чтения.Вот простой сценарий тестирования:
var A = function(){}
console.log( A.prototype.constructor == A ); //true
Итак, на этом этапе каждая новая функция получает объект-прототип, который содержит конструктор в качестве ссылки.Это все хорошо.Теперь рассмотрим следующее:
var B = function() {
this.id = 0;
}
A.prototype.constructor = B; // what does this do with A?
Итак, каждый экземпляр A должен получить B в качестве конструктора:
var C = new A();
console.log(C.constructor == B) // true
Итак, наконец, имеет ли это реальный эффект для каждого экземпляра?Это не так:
console.log(C.id); // what will this yield?
Мой вопрос: какова цель предоставления ссылки на конструктор?Очевидно, вы можете установить / переопределить его, но он ничего не делает, кроме изменения ссылки.Или я что-то упустил?