数组未分配给变量?这是如何工作的以及它究竟在做什么?

时间:2017-10-20 12:45:40

标签: javascript

试图找出下面的代码是如何工作的以及它的作用......有人可以向我解释一下吗?

据我所知,[' handleEvent']只是立即执行并运行forEach循环一次......

我假设它与事件监听器有关,然后执行由字符串引用的方法?以下代码在constructor方法范围内,并且未分配给变量或任何内容......

class plugin{

      constructor(sidebar, options = {}){
        this.options = plugin.extend(DEFAULTS, options);

        // Bind event handlers for referencability.
        ['handleEvent'].forEach( (method) => {
          this[method] = this[method].bind(this);
        });

        // Initialize sticky sidebar for first time.
        this.initialize();
      }

1 个答案:

答案 0 :(得分:2)

['handleEvent'].forEach( (method) => {
      this[method] = this[method].bind(this);
});

完全等同于

this['handleEvent'] = this['handleEvent'].bind(this);

据推测,作者用这种方式编写了它,以便将来更容易添加新字符串。如果阵列是“使用过一次就扔掉”,则不需要分配阵列。对象