我认为我通过编写执行此操作的代码很聪明:
someFunction = (arg1, arg2, arg3) ->
if _.some(arguments, (a) -> a is undefined)
throw new Error "undefined parameter"
我的意图是,如果其中一个参数未定义,则抛出错误。但我刚刚发现它并不总是有效:如果有人根本没有传入参数,它不会包含在arguments
数组中,因此不会被检查。
someFunction(1, 2)
如果调用此函数或someFunction(1)
不手动检查每个参数,是否有一种简单的方法来引发错误?