Я ожидаю, что мой пользовательский класс будет иметь внутреннюю ошибку рекурсии при использовании средств доступа, но этJavascript

Форум по Javascript
Anonymous
Я ожидаю, что мой пользовательский класс будет иметь внутреннюю ошибку рекурсии при использовании средств доступа, но эт

Сообщение Anonymous »

Прежде чем мы начнем, я работаю на сервере webpack-dev-server и создаю приложение для создания списка дел. Моя цель – улучшить понимание того, как ведут себя средства доступа, чтобы я мог стандартизировать свой стиль письма с помощью классов.
Теперь фрагмент ниже показывает, как я настраиваю свой класс User:

Код: Выделить всё

export class User {
name; //public field

constructor(name, id = crypto.randomUUID(), xp = 0) {
this.id = id;
this.name = name;
Object.assign(this, createExpHolder(xp), createProjectHolder(), createTaskHolder());
}

get name() {
return this.name;
}

set name(name) {
this.name = name;
}

}

Код: Выделить всё

const user = new User("StackOverflow");
console.log(user.name); //prints StackOverflow and no errors
На первый взгляд можно было подумать, что этот код вернет ошибку из-за переполнения стека. И я удивлен, что этого не произошло. Всякий раз, когда я изменяю имя экземпляра, это не вызывает ошибки и работает нормально! Это из-за сервера разработки? Вебпак справится с этим? Это особенность движка JavaScript?
Я провел исследование, чтобы найти объяснение в MDN, и множество ИИ объяснили это для меня, но решение/ответ, который они дали, заключалось в использовании частного поля или соглашения об именовании с подчеркиванием.
Это проблема для меня, потому что я хочу стандартизировать свой стиль письма с помощью классов. И если я привык к этой схеме, в будущем у меня может возникнуть технический долг.

Подробнее здесь: https://stackoverflow.com/questions/797 ... sors-but-i

Вернуться в «Javascript»