Javascript中三元运算符的解释
Explanation for ternary operator in Javascript
我已经经历了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。
相关文章:
- 三元运算符检查多个字符串
- 用javascript中的三元运算符连接字符串
- 使用AngularJs数据绑定的三元运算符显示图像
- 三元运算符是NaN
- AngularJS模板中的三元运算符
- Javascript 同构三元运算符无法正确解析
- 车把中有三元运算符吗.js
- 三元运算符未执行的虚假语句
- 根据三元运算符选择函数
- 用三元运算符整理javascript
- 堆叠三元运算符在 Angularjs 表达式中不起作用
- es6javascript推荐使用三元运算符应用模板文本的方法
- 具有逻辑运算符的复杂三元运算符
- 通过三元运算符的自赋值
- 三元运算符中的表达式作为函数
- JavaScript中看似多余的三元运算符
- js:三元运算符中的多重返回
- Javascript 三元运算符结果
- 使用三元运算符缩短代码
- 语句中的三元运算符