понедельник, 12 января 2015 г.

Восстановление значения по умолчанию после удаления свойства объекта.

Восстановление значения по умолчанию после удаления свойства объекта можно реализовать через 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'

Комментариев нет:

Отправить комментарий