var example = new MyConstructor();
по методу 1:
example.constructor === MyConstructor;
по методу 2:
typeof(example.constructor) === 'undefined';
Объект-прототип, который поставляется с функцией, имеет свойство constructor
, которое указывает нафункция.Если вы присваиваете свойства этого объекта, вы сохраняете свойство constructor
.Если вы перезаписываете свойство prototype
новым объектом, вы теряете свойство constructor
.
Разница в производительности минимальна.Поскольку constructor
настолько хрупок, вы не можете доверять ему, поэтому я не пытаюсь сохранить его.