средства доступа к свойствам 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, но не все браузеры поддерживают это.

Ответы на вопрос(5)

Ваш ответ на вопрос