Как стать автором
Обновить

Комментарии 8

НЛО прилетело и опубликовало эту надпись здесь
С# прекрасно живет с рефлексией и никто не жалуется что можно получить доступ к private полям или свойствам.

Потому что это компромисс.
То что решение с рефлексией выглядит сильно лучше чем вариант наделать геттеров в сущности не отменяет того что это всего-навсего грязный хак, использующийся в силу, обычно, необходимости маппить наши сущности на структуру баз данных, которые напрямую с объектами не работают( Оставим не особо прижившиеся кейсы объектных БД ) в совокупности с желанием сделать их независимыми от persistence слоя
Лучше скажите честно кто нибудь использует Symbol у себя в коде?
Конечно
1) В качестве константы
2) В качестве уникального ключа для сохраненного состояния объекта
3) iterator/asyncIterator
Использую в декораторах, что бы хранить метаданные.
Статья конечно интересная) но действительно юзает ли кто ?
obj = {
[Symbol(12)]: 1,
[Symbol(12)]: 2
} 
console.log(ojb) // {Symbol(12): 1, Symbol(12): 2}
По-моему, символы нужны немного для другого. Ввиду того, что они immutable, это означает, что один и тот же символ вызванный много раз будет занимать ту же ячейку памяти. Потому что это тот же объект. Именно по-этому обычно в качестве ключей хэшей используют символы (чтобы при создании тысячи экземпляров хэшей с одними и теми же ключами, не хранить ключи каждого экземпляра в отдельных ячейках памяти).
Как чуял, когда не стал читать главу про это…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий