typescript编译器不会使用以下代码标记任何错误。
const numbers: number[] = [];
const sum: number = numbers.reduce((a, num) => (a + num));
但是,在执行转置后的代码时,nodejs返回以下异常
TypeError: Reduce of empty array with no initial value
我认为这会导致许多运行时错误,也许typescript应该建议我在使用reduce函数之前检查数组是否为空。
const numbers: number[] = [];
const sum: number = numbers.length > 0 ? numbers.reduce((a, num) => (a + num)) : 0;
我是否应该将其报告为问题?
发布于 2018-06-10 05:04:48
我怀疑任何人都会改变这一点。Typescript编译器只关心您是否正确地实例化了数组。
这是你做的。
例如,Java就做了同样的事情。只要变量被正确实例化,无论它是否有内容,程序员都要自己负责。
https://stackoverflow.com/questions/50776754
复制相似问题