Javascript中三元运算符的解释

Explanation for ternary operator in Javascript

本文关键字:三元 运算符 解释 Javascript      更新时间:2023-09-26

我已经经历了nodeschool的regex冒险,我刚刚完成了捕获课程。

我的解决方案:

module.exports = function (str) {
    var x = /x=('d+)/.exec(str);
    return x && x[1];
}

然而,参考溶液具有

module.exports = function (str) {
    var x = /x=('d+)/.exec(str);
    return x ? x[1] : null;
}

我真的很好奇最后一行是什么意思。x零次或一次x[1],但我不知道: null;在这种情况下意味着什么。它的意思是"如果不是null"吗?

它是三元运算符:

(condition ? expressionIfConditionIsTrue : expressionIfConditionIsFalse)

这是的快捷方式

if (expression) {
    // expressionIfConditionIsTrue   
} else {
    // expressionIfConditionIsFalse   
}

因此,如果正则表达式找到匹配项,则返回x[1],否则,函数返回null

您听说过三元运算符吗?

语法:

condition ? true : false

所以这里,

return x ? x[1] : null;

如果匹配,它应该返回由组索引1获取的字符,否则它应该返回null。