📅  最后修改于: 2023-12-03 14:43:33.965000             🧑  作者: Mango
JS中,'?'运算符也叫做条件运算符,是一种短语法来替代 if...else 语法的三元运算符。它的语法如下:
条件 ? 值1 : 值2
它的作用是根据条件是否为真来选择返回值1或者返回值2。如果条件为真,则返回值1,否则返回值2。这种写法有利于简化代码和提高代码可读性。
例子:
let gender = 'male';
let message = (gender === 'male') ? 'Welcome Sir!' : 'Welcome Madam!';
console.log(message); // Welcome Sir!
这里的条件是 gender === 'male', 因为 gender 等于 'male' ,所以返回 'Welcome Sir!'。如果 gender 等于 'female',则会返回 'Welcome Madam!'。
值1和值2可以是任何JavaScript表达式。在下面的例子中,我们可以把一个函数作为一个返回值。
let value = (age >= 18) ?
function() {console.log('Welcome to the website.');} :
function() {console.log('Sorry, you are not old enough.');};
value(); // Welcome to the website.
上述代码中,如果 age 大于或等于 18,则返回一个函数输出 'Welcome to the website.',否则返回一个函数输出 'Sorry, you are not old enough.'。
要记住的一个关键点是条件运算符是一个右结合运算符。这意味着您可以使用多个条件操作符在一个表达式中。然而,仅当使用括号时,保证表达式不会被误解。
'?'运算符是一个流行的语法来简化代码和提高可读性。值1和值2可以是任何表达式,例如数值,函数或其他表达式。请注意,条件运算符是右结合的,使用括号有利于表达式可读性。