我认为我通过编写执行此操作的代码很聪明:
someFunction = (arg1, arg2, arg3) ->
if _.some(arguments, (a) -> a is undefined)
throw new Error "undefined parameter"
我的意图是,如果其中一个参数未定义,则抛出错误。但我刚刚发现它并不总是有效:如果有人根本没有传入参数,它就不会包含在 arguments
数组中,因此不会被检查。
如果像 someFunction(1, 2)
或 someFunction(1)
那样调用此函数而不手动检查每个参数,是否有一种简单的方法可以引发错误?
最佳答案
使用arguments.length
function doSomething(arg1,arg2,arg3){
if(arguments.length!=3){
throw new Error("wrong param count");
}
}
关于javascript - 如果未传递参数,CoffeeScript/JavaScript 如何出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20754360/