将函数 reduce 应用到空数组时出现问题

issue when applying function reduce to empty array

typescript 编译器不会用以下代码标记任何错误。

const numbers: number[] = [];
const sum: number = numbers.reduce((a, num) => (a + num));

但是在执行转置代码的时候,nodejsreturns出现如下异常

TypeError: Reduce of empty array with no initial value

我认为这会导致许多运行时错误,也许打字稿应该建议我在使用 reduce 函数之前检查数组是否不为空。

const numbers: number[] = [];
const sum: number = numbers.length > 0 ? numbers.reduce((a, num) => (a + num)) : 0;

我应该将其报告为问题吗?

我怀疑没有人会改变这一点。 Typescript 编译器只对您是否正确实例化数组感兴趣。

你做到了。

Java,例如,做同样的事情。只要一个变量被正确地实例化,它是否有内容由程序员自己负责。