средства доступа к свойствам javascript
В Javascript кажется, что использование методов доступа к свойствам встречается не так часто (в отличие от других ОО-языков, таких как, например, Java).
Если у меня естьPerson
объект с именем, определенным как
function Person(name) {
this.name = name;
}
Имя человека не изменится, но я хочу иметь к нему доступ при необходимости, чтобы я мог сделать что-то вроде:
function Person(name) {
var name = name;
this.getName = function() {
return name;
}
}
Я думаю, что даже в динамическом языке принципы использования методов получения и установки применяются так же, как и к статически типизированным языкам ОО (например, инкапсуляция, добавление проверки, ограничение доступа и т. Д.)
Этот вопрос может быть закрыт как субъективный, но мне любопытно, почему такое поведение не появляется чаще (например, Java-разработчики сошли бы с ума, если бы все было публично).
Существует ли «стандарт»? способ сделать это в JavaScript? Я виделObject.defineProperty
, но не все браузеры поддерживают это.