JavaScript 对我来说是一个启示。我以为它会像另一种经典语言,如 C#、Java 等。但事实并非如此。“动态世界”是艰难而难以预测的。当我读到函数可以接收任意数量的参数时,我感到很惊讶。没有任何错误!我一点也不喜欢。我想要更多的“静态”,我想要某种编译时错误!
我的问题是:我需要担心吗?如果传递的参数数量超过特定函数的预期,抛出异常是一种好习惯吗?
function foo(one, two, three)
{
// Is it good?
if(arguments.length > arguments.callee.length)
throw new Error("Wrong quantity of arguments in " + arguments.callee.name + "()");
/* Stuff */
}
foo(1, 2, 3, 4); // -> Error
foo(1, 2, 3); // -> OK
我应该担心吗?
提前致谢!