parâmetros opcionais, valores padrão e verificação de tipo para suas assinaturas de método JavaScript

ArgueJS é uma nova biblioteca JavaScript que permite estender as assinaturas de seus métodos com parâmetros opcionais ,
valores padrão e verificação de tipo .

exemplo

Vamos supor que queiramos reescrever o intervalo de métodos bem conhecido de underscorejs .

Observe que a documentação diz que sua assinatura de método é range([start], stop, [step]). Com o ArgueJS , poderíamos digitar apenas desta forma:

function range(){ 
arguments
= __({start: [Number, 0], stop: Number, step: [Number, 1]})

for(var i = arguments.start; i < arguments.stop; i += arguments.step)
console
.log(i);
}

Repl:

>>> range(3)
0
1
2
>>> range(3, 5)
3
4
>>> range(0, 5, 2)
0
2
4

Dê uma olhada na documentação para mais informações.