Что нужно знать о том, как работает сеттер в JavaScriptJavascript

Форум по Javascript
Ответить
Anonymous
 Что нужно знать о том, как работает сеттер в JavaScript

Сообщение Anonymous »

Итак, я готовлюсь к техническому собеседованию, создаю несколько пользовательских веб-компонентов, а после создания карты статей класса я беру несколько статей и создаю новый экземпляр, похожий на этот.`this.articlesContainer = this.shadowRoot.getElementById('articles-container');

connectedCallback() {

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

fetch('/article.json')
.then(response => response.json())
.then(articlesRetrieved => this.articles = articlesRetrieved);
}

set articles(value) {
value.forEach(article => {
const articleCard = new ArticleCard();
articleCard.title = article.title;
articleCard.image = article.image;
articleCard.autor = article.autor;
articleCard.company = article.company;
articleCard.description = article.description;
articleCard.id = article.autorId;
this.articlesContainer.appendChild(articleCard);
});
}
посмотрите внимательно на строкуarticleCard.id =article.autorId;
потому что в моем классе ArticleCard у меня есть установщик

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

set authorId(id) { this.authorId = id; }
это необходимо для передачи this.authorId при создании нового экземпляра автора

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

autorButton.addEventListener('click', () => {
const autor = new Author(this.authorId);
autor.name = this.autor;
autor.image = this.image;
autor.description = this.description;
this.shadowRoot.appendChild(autor);
});

const autor = new Author(this.authorId);
< /code>
Этот код работает, и делайте то, что он должен делать, но почему? Я имею в виду, что в этой строке articlecard.id = article.autorid; 
javascript должен вызвать метод сеттера (если существует) т.е. = set id (id) {this._id = id}, а затем я могу использовать его, когда я Создайте новый экземпляр автора, но как JavaScript знает (ради любви к Богу), что когда я делаю этот набор Authorid (id) {this.Authorid = id;} он правильно устанавливает articlecard.id = article.autorid ; к этому. Authorid, почему?>

Подробнее здесь: https://stackoverflow.com/questions/793 ... javascript
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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