Javascript Array.prototype.every()布尔值

Javascript Array.prototype.every()布尔值,javascript,Javascript,我被这.every()行为弄糊涂了 let a = [true, true, true] a.every(Boolean) // returns true let b = [true, false, true] b.every(Boolean) // returns false typeof false // returns 'boolean' 我不明白为什么b.every(Boolean)返回false。我错过了什么 来自: every()方法测试数组中的所有元素是否通过了所提供函数实

我被这
.every()
行为弄糊涂了

let a = [true, true, true]
a.every(Boolean) //  returns true

let b = [true, false, true]
b.every(Boolean) // returns false

typeof false // returns 'boolean'
我不明白为什么
b.every(Boolean)
返回
false
。我错过了什么

来自:

every()方法测试数组中的所有元素是否通过了所提供函数实现的测试


您使用的
Boolean
回调将传递给它的变量转换为布尔值,因此
Boolean(false)
将返回
false
,这使得
b.every(Boolean)
也返回
false

b.every(el=>typeof el==“Boolean”)
返回
true
@ChrisG是的,我现在明白了。谢谢,我误解了布尔()的用途。谢谢