typescript编译器不会使用以下代码标记任何错误。
const numbers: number[] = [];
const sum: number = numbers.reduce((a, num) => (a + num));
但是,执行转置代码时,nodejs会返回以下异常
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;
我应该将其报告为问题吗?
答案 0 :(得分:2)
我怀疑有人会改变这一点。 Typescript编译器只关心您是否正确地对数组进行了定向。
你做到了。
例如,Java就是这样做的。只要变量被正确实例化,程序员就自己是否有内容负责。