function TestObject() {
this.name = 'Object to be tested';
}
TestObject.prototype.getName = function (qnt) {
return this.name + ' ' + qnt + ' times'; //some text
};
Object.prototype.clone = function () {
let Clone = function () {
this.cloned = true;
};
Clone.prototype = this;
Clone.prototype.constructor = Clone;
return new Clone;
};
let testOb = new TestObject;
let clObject = testOb.clone();
console.log(testOb);
console.log(clObject);
Нужно именно модифицировать скрипт и только затем посоветовать лучшие и альтернативные способы. Дело в том, что после выполнения функции testOb.clone(); - clone() правильно возвращает новый объект с правильным конструктором. Но почему constructor как свойство добавляется в сам testOb после этой операции? Помогите решить это.