Исходя из С#/PHP, я хотел бы иметь полные getters/setters для классов (функций), которые я создаю с помощью Javascript.
Однако, во многом из кода Javascript, с которым я столкнулся, геттеры и сеттеры не используются, а довольно простые общедоступные переменные.
Мне было приятно найти статью Джона Ресига о геттерах и сеттерах, но некоторые комментарии к ней, в которых говорится, что некоторые браузеры "не поддерживают геттеры" и сеттеры ", которые меня сбивают с толку, поскольку они не являются" особенностью "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;
}
}