javascript - Javascript中三元运算符的解释

标签 javascript regex

我一直在学习 Nodeschool 的正则表达式冒险,并且刚刚完成了捕获类(class)。

我的解决方案:

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;在这种情况下意味着。这是否意味着“如果不为空”?

最佳答案

这是 ternary operator :

(condition ? expressionIfConditionIsTrue : expressionIfConditionIsFalse)

这是

的快捷方式
if (expression) {
    // expressionIfConditionIsTrue   
} else {
    // expressionIfConditionIsFalse   
}

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

关于javascript - Javascript中三元运算符的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33773276/

相关文章:

regex - 正则表达式匹配管道分隔字符串与管道转义

javascript 如何获取父类构造函数参数

javascript - 使用ffmpeg javascript从wav音频文件转换为pcm音频文件

javascript - 弹出窗口仅显示在网站的第一页

javascript - 启用日期期间 Javascript 默认日历

c# - 嵌套 BBCode 的正则表达式

javascript - 通过 id React 私有(private)路由

regex - 自动查找短正则表达式来匹配一组单词?

python - 如何从字符串末尾提取数字

java - 正则表达式匹配非前面的字符并匹配后面的字符