Angular语法中的这一行是什么?

时间:2017-04-02 10:56:48

标签: javascript angular typescript

不幸的是我不理解以下语法。我知道它的作用,它删除了监听器数组的监听器。

=COUNTIFS(C:C,">="&($D$2+E2), C:C,"<"&($D$2+F2))

我不理解Angular2中的这种语法,它在任何地方都使用。 this._listeners = this._listeners.filter(1 => 1 !== listener);

整个代码段是

1 => 1 !== listener

2 个答案:

答案 0 :(得分:2)

我认为这是你书中的拼写错误。

假设它是

this._listener = this._listeners.filter(listener => 1 !== listener);

这将过滤_listeners数组和

将返回任何不等于1(listener => 1 !== listener

的元素

这是

的简写语法
this._listener = this._listeners.filter((listener) =>{ 
    return 1 !== listener
});

更短
this._listener = this._listeners.filter((listener) =>{ 
    if(1 !== listener){
      return listener;
    }    
});

答案 1 :(得分:1)

1 => 1 !== listener

这是ES6箭头功能,read more here

例如,var even = [1,2,3,4].filter(v => v % 2 == 0);会给出偶数。在浏览器的控制台中试试这个。

在您的问题中,您只需将1 => 1 !== listener替换为item => item !== listener