在javascript中使用三元运算符而不是if..else

在javascript中使用三元运算符而不是if..else,javascript,if-statement,ternary-operator,Javascript,If Statement,Ternary Operator,而不是if…else语句如何使用三元运算或任何替代方法简化javascript中的代码 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 => {

而不是if…else语句如何使用三元运算或任何替代方法简化javascript中的代码

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
。但如果您想看到其他方法,请参见:

使用三元运算符
?:

使用门逻辑

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

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.')
}

<强>仅一个FY<<强>:每当您比较字符串时,请考虑使用<代码>==< /COD>而不是<代码>=。p> 在JS中编写条件语句有多种方法。但是,如果有多个语句,我会说您应该坚持使用

if
else if
else
。但如果您想看到其他方法,请参见:

使用三元运算符
?:

使用门逻辑

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

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.')
}

<强>仅一个FY<<强>:每当您比较字符串时,请考虑使用<代码>==< /COD>而不是<代码>=。p> 如果有多行代码要执行,否则如果循环比三元运算符可读性更好,请尝试阅读更多关于三元运算符的内容。然后决定是否使用它。条件运算符在这里不太合适。我想第一个

if
else if
可以压缩,但我更喜欢当前版本,它更具可读性。为了让事情变得更简单,您可以定义一个函数
param=>res.redirect(param)
三元运算符最好用于最简单的(一行)if…else条件。如果您只想使用它来减少行数,那么您可以查看是否有多行代码要执行,或者如果循环比三元运算符可读性更好,或者尝试阅读更多关于三元运算符的信息。然后决定是否使用它。条件运算符在这里不太合适。我想第一个
if
else if
可以压缩,但我更喜欢当前版本,它更具可读性。为了让事情变得更简单,您可以定义一个函数
param=>res.redirect(param)
三元运算符最好用于最简单的(一行)if…else条件。如果你只是想用它来减少行数,那么你可以看一看没有实际上我错了对不起,它们的变量是
inst
,而键是
instaURL
,有一个
a
,需要通过一些逻辑来添加,最好保持你当时的状态,尽管他们最初检查
pr
是否为
“inst”
,但当您将所有非
“trans”
处理为
“inst”
时,实际上我错了。对不起,他们的变量是
inst
,而键是
instaURL
,但有一个
a
,需要通过某种逻辑添加,最好保持你当时的状态,即使他们最初是检查
pr
是否是
“inst”
,而你处理所有非
“trans”
时是
“inst”
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.')
}