meteorlake
@meteorlake
Кодю код, админю домашний сервер с фильмами

Как сделать proxy ловушку для добавления в массив внутри объекта?

Код максимум упростил для понятности
let threads = {
    max: 50,
    used: 0,
    waiting: []
}

threads = new Proxy(threads, {
    set(target, prop, val) {
        console.log('Изменение')
        return true
    }
})

threads.max = 100 // срабатывает
threads.waiting.push({ name: 'example' }) // не срабатывает


При попытке назначения max или used ловушка срабатывает или если попробовать назначить threads.waiting = значение, но при методе push - ничего не происходит. Почему?
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Потому, что сам массив waiting не заменяется. Остаётся каким был.
Вызывается лишь его какой-то там метод.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы