在某些es6代码中,我看到以下内容:
let layer_combined = layers.map(getLayer).filter(l => !!l);
是什么意思!在filter()中返回?
答案 0 :(得分:0)
这是一种使用双重否定转换为布尔值的方法。
单数!
的否定会产生一个true / false值,但这与您想要的相反。双重否定会产生与原始意图匹配的真/假值。
尝试一下:
!!0 // false
!!1 // true
!!"test" // true
!!null // false