Считается ли нормальным обращение к свойствам или вызов методов по строковому эквиваленту?

Рейтинг: 0Ответов: 1Опубликовано: 25.09.2014

Считается ли в js нормальным обращение к свойствам и вызов методов по строковым эквивалентам или этого лучше избегать? Типа -

function Test(){
    //...
}

Test.prototype = {
    prop1: 10,
    prop2: 10,
    prop3: 10,
    getValue: function( name ){
        return this[name];
    }
};

var test = new Test( );
console.log( test.getValue( "prop" + "1" ) );

Ответы

▲ 2Принят

Да, get/set стандартная практика для JS:

function Test(){
    this.attrs = {};
}

Test.prototype = {
    get: function (name) {
        return this.attrs[name];
    },
    set: function (name, value) {
       this.attrs[name] = value;
       return this;
    }
};

var test = new Test( );
console.log(test.set('foo', 'bar').get('foo')); // "bar"