Number.isNaN determines whether a value is the NaN numeric value. In a variadic sum, convert each argument with Number, then replace NaN results with zero before addition. section 3.3.3
Filtering values before summing
function sumPrices(...numbers) { return numbers.reduce(function(total, val) { return total + (Number.isNaN(Number(val)) ? 0 : Number(val)); }, 0); } sumPrices(100, 200, undefined, false, "hello"); // 300 section 3.3.3
