gpt4 book ai didi

javascript - 使函数中需要参数

转载 作者:行者123 更新时间:2023-11-30 08:31:53 26 4
gpt4 key购买 nike

如果函数被调用但缺少正确执行所调用函数所必需的参数,抛出错误是否是一种好习惯?

例如(在 JavaScript 中):

var sayHi = function(name) {
console.log(name + ' says hi!');
}

对比

var sayHi = function(name) {
if(!name) { throw new Error('param is missing'); }
console.log(name + ' says hi!');
}

对于第二个示例是一个好的编码实践,还是它只是增加了不必要的膨胀,这可能会导致在跨越数十甚至数百个文件的更复杂的程序中经常抛出不必要的错误,是否有强烈的意见?

最佳答案

你可以通过 es6 传递一个立即抛出错误作为默认值的函数来实现这一点

const err = msg => { throw Error( msg ) }

const sayHi = function(name = err('Name is undefined')) {
console.log(name + ' says hi!');
}

这比在函数体内使用 if 语句具有更好的性能,并且提高了可读性。另一个认为你可以做的是构建一个装饰器来做同样的事情。像这样的东西:

@required( 'name')
const sayHi = function(name = err('Name is undefined')) {
console.log(name + ' says hi!');
}

正如您在问题Is there a strong opinion 中提到的那样,答案只能是自以为是,所以在我看来,您应该始终有一个错误处理策略。在功能杆或应用程序级别。在我看来,错误处理不太可能成为您的性能瓶颈。

关于javascript - 使函数中需要参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36580129/

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