Префикс _ в имени JavaScript-свойства — соглашение, а не механизм приватности. К obj._data можно обращаться, если нет других ограничений.
Что означает нижнее подчёркивание в имени свойства класса, например _data, и делает ли оно свойство приватным?
Префикс _ в имени JavaScript-свойства — соглашение, а не механизм приватности. К obj._data можно обращаться, если нет других ограничений.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Префикс _ в имени JavaScript-свойства — соглашение, а не механизм приватности. К obj._data можно обращаться, если нет других ограничений.
Нативные private fields объявляются как #data и проверяются во время выполнения. TypeScript private ограничивает доступ на уровне типизации, но не превращает обычное поле в нативное #поле. Подчёркивание лишь сообщает намерение автора; для защиты данных от внешнего доступа нужно выбирать соответствующий механизм.