Javascript一行,否则速记混乱

Javascript一行,否则速记混乱,javascript,jquery,Javascript,Jquery,如何使用JS速记来简化上面的if-else语句?我不确定你所说的“JS速记”是什么意思,但也许你正在寻找答案 我不知道你所说的“JS速记”是什么意思,但也许你在找那个 您可以使用三元运算符,也称为条件运算符、内联if(iif)或三元if。在您的示例中,如下所示: type = (type == 'a') ? 1 : 2; 有关Wikipedia的更多信息:您可以使用三元运算符,也称为条件运算符、内联if(iif)或三元if。在您的示例中,如下所示: type = (type == 'a') ?

如何使用JS速记来简化上面的if-else语句?

我不确定你所说的“JS速记”是什么意思,但也许你正在寻找答案


我不知道你所说的“JS速记”是什么意思,但也许你在找那个


您可以使用三元运算符,也称为条件运算符、内联if(iif)或三元if。在您的示例中,如下所示:

type = (type == 'a') ? 1 : 2;

有关Wikipedia的更多信息:

您可以使用三元运算符,也称为条件运算符、内联if(iif)或三元if。在您的示例中,如下所示:

type = (type == 'a') ? 1 : 2;

关于维基百科的更多信息:

你有更多的选择,而不仅仅是一个三元组,特别是考虑到
1
不是虚假的


你有更多的选择,而不仅仅是三元数,特别是考虑到
1
不是虚假的



您可以将其缩短为
var type=2@davidtype来自某处..好吧,你可以把它缩短为
var type=2@David type来自某处..就是这个!但是我试着不使用括号,它也起作用了,括号是必须的吗?@JamesLemon:括号并不总是必要的,它取决于操作符的优先级。考虑到语句中运算符的数量,我个人认为这更清楚了。除了
==
,运算符还可以是什么?@JamesLemon:条件可以是产生布尔值的任何东西。它甚至不必是一个比较,只要结果是真或假。我明白了,就像它可以是
=。。但真或假不是只有3个比较运算符吗?
!=”==`和
===
?就是这个!但是我试着不使用括号,它也起作用了,括号是必须的吗?@JamesLemon:括号并不总是必要的,它取决于操作符的优先级。考虑到语句中运算符的数量,我个人认为这更清楚了。除了
==
,运算符还可以是什么?@JamesLemon:条件可以是产生布尔值的任何东西。它甚至不必是一个比较,只要结果是真或假。我明白了,就像它可以是
=。。但真或假不是只有3个比较运算符吗?
!=”=`和
===
?比三元更复杂,没有真正的好处。@Saposhiente当你有大量的选择时,好处开始出现,也就是说,这个答案是一个带有默认值的非常简单的字典查找。比三元更复杂,没有真正的好处。@Saposhiente当您有大量选项时,好处就开始出现了,也就是说,这个答案是一个带有默认值的非常简单的字典查找。
type = type == 'a' ? 1 : 2;
type = {'a': 1}[type] || 2;