快速提示:如何在JavaScript中使用三元操作符
在本教程中,我们将探索JavaScript中三元操作符的语法及其一些常用用法。
的三元运算符(也称为条件运算符)可用于执行内联条件检查,而不是使用如果其他……
语句。它使代码更短,可读性更强。它可用于根据条件为变量赋值,或根据条件执行表达式。
语法
三元操作符接受三个操作数;这是唯一的JavaScript操作符这样做。您提供一个要测试的条件,后面跟着一个问号,后面跟着用冒号分隔的两个表达式。如果认为条件为真(真相),执行第一个表达式;如果它被认为是false,则执行最后一个表达式。
它的使用格式如下:
条件?expr1:expr2
在这里,条件
是要测试的条件。如果认为其值为真正的
,expr1
是执行。否则,如果认为其值为假
,expr2
是执行。
expr1
而且expr2
是任何一种表达。它们可以是变量、函数调用,甚至是其他条件。
例如:
1>2?控制台.日志(“你是对的”):控制台.日志(“你错了”);
使用三元运算符赋值
三元操作符最常见的用例之一是决定将哪个值赋给变量。通常,一个变量的值可能取决于另一个变量或条件的值。
虽然这可以使用如果其他……
语句,它会使代码更长,可读性更差。例如:
常量数字=[1,2,3.];让消息;如果(数字.长度>2){消息=“数字数组太长”;}其他的{消息=“数字数组很短”;}控制台.日志(消息);// "数字数组太长"
在这个代码示例中,首先定义变量消息
.然后,你使用如果其他……
语句来确定变量的值。
这可以在一行中使用三元操作符简单地完成:
常量数字=[1,2,3.];让消息=数字.长度>2?“数字数组太长”:“数字数组很短”;控制台.日志(消息);// "数字数组太长"
使用三元运算符执行表达式
三元运算符可用于执行任何类型的表达式。
例如,如果要根据变量的值决定运行哪个函数,可以使用如果其他……
声明:
如果(反馈= = =“是的”){sayThankYou();}其他的{saySorry();}
这可以在一行中使用三元操作符完成:
反馈= = =“是的”?sayThankYou():saySorry();
如果反馈
有价值是的
,则sayThankYou
函数将被调用并执行。否则,saySorry
函数将被调用并执行。
使用三元运算符进行空检查
在许多情况下,您可能要处理的变量可能具有定义值,也可能没有定义值——例如,从用户输入检索结果时,或者从服务器检索数据时。
使用三元操作符,可以检查一个变量是否为非三元操作符零
或未定义的
只要将变量名传递到条件操作数的位置。
当变量为时,这尤其有用对象.如果你试图访问一个对象的属性零
或未定义的
,则会出现错误。首先检查实际设置的对象可以帮助您避免错误。
例如:
让书={的名字:“艾玛”,作者:“简·奥斯丁”};控制台.日志(书?书.的名字:没有一本书的);/ /“艾玛”书=零;控制台.日志(书?书.的名字:没有一本书的);// "没有书"
在代码块的第一部分,书
对象是否具有两个属性-的名字
而且作者
.上使用三元运算符时书
,它会检查它是不是零
或未定义的
.如果它不是——这意味着它有一个值——那的名字
属性被访问并登录到控制台。否则,如果它为空,没有一本书
而是登录到控制台。
自书
不是零
时,在控制台中记录图书的名称。然而,在第二部分中,当应用相同的条件时,三元运算符中的条件将失败,因为书
是零
.因此,“No book”将登录到控制台。
嵌套条件
虽然三元运算符被内联使用,但多重条件可作为三元运算符表达式的一部分使用。可以嵌套或链接多个条件,以执行类似的条件检查如果其他……如果其他……
语句。
例如,一个变量的值可能依赖于多个条件。它可以使用如果其他……如果其他……
:
让分数=“67”;让年级;如果(分数<50){年级=“F”;}其他的如果(分数<70){年级=' D '}其他的如果(分数<80){年级=“C”}其他的如果(分数<90){年级=“B”}其他的{年级=“一个”}控制台.日志(年级);/ /“D”
上的多个条件进行测试分数
变量来确定字母分级的变量。
这些相同的条件可以使用三元运算符执行,如下所示:
让分数=“67”;让年级=分数<50?“F”:分数<70?' D ':分数<80?“C”:分数<90?“B”:“一个”;控制台.日志(年级);/ /“D”
第一个条件是得分< 50
.如果它是真正的
的值年级
是F
.如果它是假
,则对第二个表达式求值,即得分< 70分
.
这个过程一直持续,直到所有条件都满足假
,这意味着等级的值将为一个
,或直到其中一个条件被计算为真正的
它的真实价值被赋予年级
.
CodePen例子
在这个现场示例中,您可以测试三元运算符如何处理多个条件。
如果您输入的值小于100,则会显示“Too Low”。如果输入的值大于100,则会显示“Too High”。输入100,将显示“Perfect”。
看钢笔
JS中的三元运算符由Si必威西盟体育网页登录tePoint (@必威西盟体育网页登录SitePoint)
在CodePen.
结论
正如本教程示例中所解释的,JavaScript中的三元运算符有很多用例。在许多情况下,三元操作符可以通过替换long来增加代码的可读性如果其他……
语句。
相关阅读: