javascript-tutorial-ru icon indicating copy to clipboard operation
javascript-tutorial-ru copied to clipboard

Proxy enumerate.

Open Nwaj opened this issue 7 years ago • 2 comments

Второй пример должен выводить name, surname по условию задачи. Но выводит все свойства, верно ли это? https://learn.javascript.ru/proxy#enumerate

Nwaj avatar Jun 25 '18 13:06 Nwaj

@Nwaj Это неверно. Данный подраздел из исходного файла был удален, однако на сайте все еще висит. Я переделал этот "устаревший способ" с помощью действующего ownKeys: Plunker

    'use strict';
    
    let user = {
      name: "Ilya",
      surname: "Kantor",
      _version: 1,
      _secret: 123456
    };
    
    let proxy = new Proxy(user, {
      ownKeys: function (target) {//вместо enumerable
        let props = Object.keys(target).filter(function (prop) {
        return prop[0] != '_';
        });
    
      return props;//здесь нужно вернуть весь массив
      }
    });
    
    // отфильтрованы свойства, начинающиеся с _
    for(let prop in proxy) {
      alert(prop); // Выведет свойства user: name, surname
    }

@iliakan , Вы удалили устаревший метод в файле на ГитХаб, но, увы, на сайте он по-прежнему присутствует.

RAYDENFilipp avatar Sep 01 '18 18:09 RAYDENFilipp

Обновление с гитхаба будет чуть позже, сейчас большой рефакторинг кода.

iliakan avatar Sep 01 '18 19:09 iliakan