Javascript 为什么';t第一个函数返回0?告诉我他们之间的区别
第一个功能:Javascript 为什么';t第一个函数返回0?告诉我他们之间的区别,javascript,Javascript,第一个功能: 功能过滤器列表(l){ 返回l.filter(x=>{ 如果(x>=0){ 返回x } }) } log(过滤器列表([1',a',b',0,15])第一个函数不包括最终结果数组中的0,因为当满足if中的表达式时,您将返回x本身: if(x >= 0) { //When x is 0, the filter predicate becomes Falsy return x } 当x为0时,它是一个假值,因此过滤器跳过x的值 在第二种情况下,x>=0是返回值,因
功能过滤器列表(l){
返回l.filter(x=>{
如果(x>=0){
返回x
}
})
}
log(过滤器列表([1',a',b',0,15])
第一个函数不包括最终结果数组中的0
,因为当满足if
中的表达式时,您将返回x
本身:
if(x >= 0) {
//When x is 0, the filter predicate becomes Falsy
return x
}
当x
为0
时,它是一个假值,因此过滤器跳过x
的值
在第二种情况下,
x>=0
是返回值,因此,当x
为0
时,表达式x>=0
成为布尔值true
,因此x
的值包含在最终结果中。过滤器
接受谓词-它应该返回true
或false
。但是,如果返回零,则强制为false
,因此它被过滤掉。或者,换句话说,0
为false