要旨
['a', undefined, 1, null].filter(Boolean) // => ['a', 1]
詳細
filter の構文は、次のようになっている。
let newArray = arr.filter(callback(element[, index, [array]])[, thisArg])
この時、 callback に Boolean を指定すると、 Boolean(element, index, array) が呼ばれることになる。
ここで、 Boolean のコンストラクタに着目する。 Boolean は引数を1つしか取らない。JSは、仮引数で定義された個数を超えて実引数として多く渡した場合、その値は無視される。
よって、各要素は Boolean(element) を評価した結果が callback として呼ばれ、 truthy or falsy が戻り値となる。