@Stashevich
программист

Практическое назначение свойства 'constructor'?

Не могу вот осознать, где на практике пользоваться этим свойством. К примеру, отсутствие этого поля в прототипе объекта не помешает к примеру вычислить что bird instanceof Animal, т.е. цепочка прототипов определяется корректно.
function Animal() {}
Animal.prototype = Object.create(null);
//усьо, Animal.prototype больше не содержит свойства constructor


function Bird() {}
Bird.prototype = Object.create(Animal.prototype);

var bird = new Bird();

bird instanceof Animal  --> true


В общем, я в замешательстве, как пользоватся этим(constructor) свойством и зачем оно по факту нужно..
Просветите, меня, товарищи!
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 2
Minifets
@Minifets
Hello world!!!
Constructor содержит ссылку на функцию, которая вызывается при создании нового объекта, через оператор new.

function Bird() {
    // Код внутри функции Bird и есть constructor
    console.log(this.constructor);
    console.log('Код выполнится при создании нового объекта Bird');
}

let a = new Bird();

class Cat {
    constructor() {
        // Тело конструктора
        console.log(this.constructor);
        console.log('Аналогично коду сверху');
    }
}

let b = new Cat();
Ответ написан
Комментировать
@qwead
constructor это не свойство
spoiler
spoiler
function A() {}
undefined
A.constructor
ƒ Function() { [native code] }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы