JavaScript с нуля
- Автор: Кирупа Чиннатамби
- Жанр: Образование
- Дата выхода: 2021
- Цикл: Библиотека программиста
Читать книгу "JavaScript с нуля"
Регистрирование действий
В следующем примере у нас есть объект superSecureTerminal, регистрирующий имена всех пользователей:
var superSecureTerminal = {
allUserNames: [],
_username: "",
showHistory() {
console.log(this.allUserNames);
},
get username() {
return this._username;
},
set username(name) {
this._username = name;
this.allUserNames.push(name);
}
}
Это регистрирование обрабатывается внутри сеттера username, где каждое предоставляемое имя пользователя сохраняется в массиве allUserNames, а функция showHistory выводит сохраненные имена пользователей на экран. Прежде чем продолжить, давайте протестируем этот код. Мы попробуем обратиться к superSecureTerminal не так, как делали это до сих пор. Для этого мы используем кое-какие знания о создании объектов и сделаем следующее:
var myTerminal = Object.create(superSecureTerminal);
myTerminal.username = "Michael Gary Scott";
myTerminal.username = "Dwight K. Schrute";
myTerminal.username = "Creed Bratton";
myTerminal.username = "Pam Beasley";
myTerminal.showHistory();
Мы создаем новый объект myTerminal, основанный на объекте superSecureTerminal. С этого момента мы можем делать с myTerminal все, что угодно, в привычном режиме.