gpt4 book ai didi

javascript - 在 JavaScript 中使用三元运算符代替 if..else

转载 作者:行者123 更新时间:2023-12-01 01:03:18 26 4
gpt4 key购买 nike

如何使用三元运算或任何替代方法来简化 JavaScript 代码,而不是 if...else 语句

if(req.query.pr=="trans"){
util.transUrl(req.originalUrl).then(param => {
res.redirect(param);
})
}
else if(req.query.pr=="inst"){
util.instaUrl(req.originalUrl).then(param => {
res.redirect(param);
})
}
else{
res.status(400).send("Contact the editor of the originating page.")
}

最佳答案

JS 中有多种编写条件语句的方法。但是,如果有多个语句,我建议您应该坚持使用 if else if else。但如果您想了解其他方法,这里是:

Using Ternary operator ? :

const {pr} = req.query
pr === 'trans'
? util.transUrl(req.originalUrl).then(param =>
res.redirect(param)
)
: pr === 'inst'
? util.instaUrl(req.originalUrl).then(param =>
res.redirect(param)
)
: res.status(400).send('Contact the editor of the originating page.')

Using Gate logic && ||

const {pr} = req.query
(pr === 'trans' &&
util.transUrl(req.originalUrl).then(param =>
res.redirect(param))
) ||
(pr=== 'inst' &&
util.instaUrl(req.originalUrl).then(param =>
res.redirect(param))
) ||
res.status(400).send('Contact the editor of the originating page.')

现在,查看您的代码,这里 if 和 else if 语句是相似的。因此,您可以避免 else if 使用三元运算符,如下所示:

const {pr} = req.query
if(pr === 'trans' || pr === 'inst'){
util[pr === 'trans' ? 'transUrl' : 'instaUrl'](req.originalUrl)
.then(param => res.redirect(param))
}
else{
res.status(400).send('Contact the editor of the originating page.')
}

仅供引用:每当您比较字符串并且没有任何结果时,请考虑使用 === 而不是 ==需要强制。

关于javascript - 在 JavaScript 中使用三元运算符代替 if..else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55861494/

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