Лучший способ создать геттеры / сеттеры классов в Javascript?

Исходя из C # / PHP, я хотел бы иметь полные геттеры / сеттеры для классов (функций), которые я создаю с помощью Javascript.

] Однако в большей части кода Javascript, с которым я столкнулся, геттеры и сеттеры не используются, это довольно простые общедоступные переменные.

Я был рад найти статью Джона Ресига о геттерах и сеттерах, но некоторые комментарии к ней, в которых говорится, что некоторые браузеры «не поддерживают геттеры и setters », что сбивает меня с толку, поскольку они не являются« особенностью »Javascript, а скорее представляют собой простой шаблон, использующий базовый синтаксис Javascript. Эта статья также была написана в 2007 году, так что к настоящему времени она может быть устаревшей.

Каково текущее состояние геттеров и сеттеров в Javascript? Действительно ли они «поддерживаются» всеми браузерами сегодня (что бы это ни значило)? Являются ли они полезным шаблоном программирования для Javascript или для классов Javascript (являющихся функциями) лучше использовать общедоступные переменные? Есть ли лучший способ их реализации, чем следующий?

$(document).ready(function() {
    var module = new Module('idcode');
    module.set_id_code('new idcode');
    module.set_title('new title');
    $('body').html(module.get_id_code()+': '+module.get_title());
});

function Module(id_code, title) {
    var id_code = id_code;
    var title = title;

    //id_code
    this.get_id_code = function() {
        return id_code;
    }
    this.set_id_code = function(value) {
        id_code = value;
    }

    //title
    this.get_title = function() {
        return title;
    }
    this.set_title = function(value) {
        title = value;
    }
}

17
задан Edward Tanguay 15 December 2010 в 14:34
поделиться