【发布时间】:2015-10-08 22:37:42
【问题描述】:
如果我有一个函数:
export function createWeeklyStats(activities, offset, length) {
...
}
我把这个函数称为:
createWeeklyStats(myListOfActivities, 0)
JSHint 不会抱怨我缺少 length 参数。我在这里找不到匹配的执行选项:
存在吗?
我正在更新现有方法以包含一个新的必需参数,虽然我自称是成年人,但如果我最好的出路是全文搜索,我会在这里大吃一惊。
【问题讨论】:
-
据我所知不存在,可能是因为很难判断参数何时是可选的,何时不是。所以你可以试试……或者按
CTRL+SHIFT+F? -
如果我不希望它们中的任何一个是可选的怎么办?
-
肯定会大吃一惊。
-
是的,从强类型语言到非类型语言的过渡有点难度。您不能使用编译器/解析器来告诉您某些类型的编码错误。你需要习惯的是做更多的运行时参数检查,对所有内容进行单元测试,并确保进行端到端的测试来运行所有代码路径。只有这样才能知道您没有意外输入会在运行时杀死代码的输入错误。
-
当你想要重构/重构一些代码时,我发现它特别痛苦,而且我习惯于让 C++ 编译器告诉我所有更改的引用在哪里。使用 JS,你必须手动找到它们,然后确保你测试所有调用它的东西。一套好的自动化单元测试可以帮助很多。而且,JSHint 确实有帮助 - 它只是无法找到所有内容。
标签: javascript jshint ecmascript-5