我目前在创建一个JavaScript函数库。主要是为了自己使用,但你永远无法确定其他人是否会在其项目中使用它,因此我至少会将其创建为如果发生这种情况。
大多数方法只有在传递的变量为正确的数据类型时才有效。现在我的问题是:怎样最好地提醒用户该变量的数据类型不正确?是否应该像这样抛出错误?
function foo(thisShouldBeAString){ //just pretend that this is a method and not a global function
if(typeof(thisShouldBeAString) === 'string') {
throw('foo(var), var should be of type string');
}
#yadayada
}
我知道JavaScript会进行内部类型转换,但这可能会导致非常奇怪的结果(例如'234' + 5 = '2345',但'234' * 1 = 234),这可能会使我的方法执行非常奇怪的事情。
编辑: 为了让事情更加清晰:我不希望进行类型转换,传递的变量应该是正确的类型。最好的方式是告诉我的库的用户传递的变量不是正确的类型?
throw 'a string'
,而是应该使用throw new Error('a string')
来获取有用的调试信息... - Christoph