gpt4 book ai didi

JavaScript 错误处理 : can I throw an error inside a ternary operator?

转载 作者:行者123 更新时间:2023-12-03 03:38:19 24 4
gpt4 key购买 nike

我可以在三元运算符中抛出错误吗?这是否有效:

function foo(params) {

var msg = (params.msg) ? params.msg : (throw "error");

// do stuff if everything inside `params` is defined
}

我想做的是确保定义了 param 对象中所需的所有参数,如果有任何参数未定义,则抛出错误。

如果这只是愚蠢的,是否有更好的方法来做到这一点?

最佳答案

你可以这样做:

function foo(params) {

var msg = (params.msg) ? params.msg : (function(){throw "error"}());

// do stuff if everything inside `params` is defined
}

不过我真的不推荐它,它会导致代码不可读。

这也可行(并不是说它真的更好):

function foo(params) {

var msg = params.msg || (function(){throw "error"}());

// do stuff if everything inside `params` is defined
}
<小时/>

或者为了更简洁的方法,创建一个命名函数。

function _throw(m) { throw m; }
function foo(params) {

var msg = params.msg || _throw("error");

// do stuff if everything inside `params` is defined
}

关于JavaScript 错误处理 : can I throw an error inside a ternary operator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9370606/

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