gpt4 book ai didi

JavaScript native 方法静默失败而不是抛出错误

转载 作者:行者123 更新时间:2023-11-30 18:08:37 24 4
gpt4 key购买 nike

为了练习,我正在编写一个 JavaScript 库,我正在对现有对象(例如 Array)的代码进行建模。

我注意到像 array.pop (当数组为空时)和 array.splice(-1, -1) 这样的方法会默默地失败,而不是抛出一个错误。为什么会这样?出于调试目的抛出错误不是更好吗?还是有一些我不知道的 JavaScript 最佳实践?

最佳答案

空数组上的 array.pop 将返回类型:undefined。如果您尝试使用结果,它将引发错误。

array.splice 总是会返回一个数组。如果未删除任何内容,它将返回一个空数组。

为确保此类方法返回预期值,您应该编写单元测试。

一个简单的例子:

if( !myarray.pop() ){
console.log( 'Error' );
}

对于更详细的单元测试,我会使用 js 单元测试库。我用过的一个是 QUnit.js http://qunitjs.com/

关于JavaScript native 方法静默失败而不是抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15177704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com