什么是强制执行函数参数的最佳方法?

时间:2016-06-23 21:00:27

标签: function coffeescript parameter-passing

在Coffeescript中,创建具有强制参数的函数的最佳方法是什么?目前,我正在这样做:

myFunction: (requiredParam, optionalParam) ->
    unless requiredParam? then throw new Error ...
    ...

如果我有5个参数甚至更多参数,则每个参数都会产生大量的时间和空间。

是否有更简单/更简洁的方法?

1 个答案:

答案 0 :(得分:2)

您可以在任何函数中使用arguments变量,以确保实际参数的数量不小于所需参数的数量。

myFunction: (required1, required2, required3, optional1, optional2) ->
  throw new Error("Given #{arguments.length} out of 3 required.") if arguments.length < 3
  # ...