我一直在学习 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/