• Теория
  • Теория

Переопределяем свойства объекта

Мы убедились, что цикл внутри функции работает и в консоль выводится текущий элемент массива игроков. Что дальше?

После каждого броска мы должны увеличивать игровые очки на результат этого броска. Получается запись вида player.points += результат броска. Как это работает?

Переопределение свойств.

Свойства объектов можно не только читать, но и переопределять, как и обычные переменные. А ещё в объект можно добавлять новые свойства уже после того, как он был создан. Вернёмся к объекту кота.

let cat = {
  name: 'Кекс',
  age: 5
};

cat.age++; // Увеличили возраст кота на 1
console.log(cat.age) // Выведет: 6

cat.name = 'Рокки'; // Заменили снаружи значение свойства name
console.log(cat.name); // Выведет: Рокки
cat.color = 'рыжий'; // Добавили в объект новое свойство
console.log(cat.color); // Выведет: рыжий

Внутри цикла будем вызывать функцию броска throwDice, записывать результат в переменную и увеличивать на это значение игровые очки текущего игрока. Чтобы удобней было отследить события в игре, будем выводить результат броска каждого игрока в консоль.

Как вы уже знаете, при обращении массив[индекс] мы получаем элемент массива. В нашем случае это объект игрока, из которого можно читать, как из любого другого объекта через точку. Поэтому запись в теле нашего цикла массив[индекс].ключ то же самое, что запись объект.ключ при работе с объектом напрямую.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Объекты» тренажёра «Базовые структуры данных» можно после регистрации и оформления подписки.