Приватные аксессоры (Private Accessors) - это новая функциональность в языке JavaScript, введенная в стандарте ECMAScript 2022. Они позволяют создавать приватные свойства объекта, доступные только внутри класса или модуля.

Приватные аксессоры могут быть геттерами (get) и сеттерами (set) для приватных свойств объекта. Для создания приватного аксессора необходимо использовать символ # перед именем свойства.

Пример использования приватных аксессоров в JavaScript:

class Person {
  #name // приватное свойство
 
  constructor(name) {
    this.#name = name
  }
 
  getName() {
    // публичный метод для получения приватного свойства
    return this.#name
  }
 
  set name(value) {
    // приватный сеттер для изменения приватного свойства
    this.#name = value
  }
}
 
const person = new Person("John")
console.log(person.getName()) // Вывод: "John"
 
person.name = "Bob" // изменяем приватное свойство через приватный сеттер
console.log(person.getName()) // Вывод: "Bob"

В этом примере, мы создаем класс Person, который имеет приватное свойство #name, доступное только внутри класса через методы getName() и set name(value). Метод getName() является публичным и возвращает значение приватного свойства, а метод set name(value) является приватным сеттером и изменяет значение приватного свойства.

Приватные аксессоры могут быть полезны для создания классов с приватными свойствами и методами, которые не могут быть изменены или получены извне класса. Они также могут быть использованы для создания модулей с приватными функциями и переменными.

Приватные аксессоры находятся в стадии предложения и могут не быть поддерживаемыми во всех браузерах и средах выполнения JavaScript на данный момент. Тем не менее, их использование может улучшить читаемость и поддерживаемость кода, особенно в крупных проектах.


Назад