попробуйте
class Store {
constructor(items) {
this._items = items;
}
getItems() {
return this._items;
}
addItem(item) {
this._items = [...this._items, item]; // Fix
return this._items;
}
}
const storage = new Store([ // Fix
'cucumber',
'tomato',
'banana',
'egg',
]);
let items = storage.getItems(); // Fix
console.table(items);
storage.addItem('garlic'); // Fix
items = storage.getItems(); // Get new items because created new array after add item
console.table(items);
или попробуйте, если вам не нужно создавать новый массив после добавления элемента
class Store {
constructor(items) {
this._items = items;
}
getItems() {
return this._items;
}
addItem(item) {
this._items.push(item); // Fix
return this._items;
}
}
const storage = new Store([ // Fix
'cucumber',
'tomato',
'banana',
'egg',
]);
let items = storage.getItems(); // Fix
console.table(items);
storage.addItem('garlic'); // Fix
console.table(items);
bind вернуть новую функцию с заданным контекстом. но в вашем случае это не обязательно