Восстановление значения по умолчанию после удаления свойства объекта можно реализовать через prototype.
function BaseObject (name) {
if (typeof name !== "undefined") {
this.name = name;
} else {
this.name = 'default'
}
}
var firstObj = new BaseObject();
var secondObj = new BaseObject('unique');
console.log(firstObj.name); // -> в 'default'
console.log(secondObj.name); // -> в 'unique'
// Удалим свойство объекта
delete secondObj.name;
// В этом случае получим:
console.log(secondObj.name); // -> в 'undefined'
// А, если записать через prototype
function BaseObject (name) {
if (typeof name !== "undefined") {
this.name = name;
}
};
BaseObject.prototype.name = 'default';
var thirdObj = new BaseObject('unique');
console.log(thirdObj.name); // -> в 'unique'
// Удалим свойство объекта
delete thirdObj.name;
// Теперь свойство объекта имеет значение по умолчанию
console.log(thirdObj.name); // -> в 'default'
Комментариев нет:
Отправить комментарий