我正在为练习编写一个JavaScript库,我正在对现有对象(如Array)上的代码进行建模。
我注意到的是array.pop
(当数组为空)和array.splice(-1, -1)
等方法无声地失败而不是抛出错误。为什么会这样?是不是更好的调试目的抛出错误?或者是否有一些我不知道的JavaScript最佳实践?
答案 0 :(得分:2)
array.pop将返回类型:undefined。如果您尝试使用结果,则会引发错误。
array.splice将始终返回一个数组。如果没有删除它将返回一个空数组。
要确保这样的方法返回预期值,您应该编写单元测试。
一个简单的例子:
if( !myarray.pop() ){
console.log( 'Error' );
}
对于更详细的单元测试,我会使用js单元测试库。我使用的是QUnit.js http://qunitjs.com/