什么是“?”:"意思是
What does "? :" mean?
我有一个通用的JS问题,我甚至不知道该怎么说。
在什么情况下使用以下代码结构?它是什么意思(或有什么用)?这种做法叫什么?
x1 = x2 ? x3 : x4;
你能提供参考资料、例子和可能性吗?
if(x>10)
{
y=10;
}
else
{
y=9;
}
可以写成
(x>10) ? y=10 : y=9;
我想现在你已经理解了
如果x2为false,则x1=x4如果x2为真,则x1=x3
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
在扩展代码中显示:
if(x2){
x1 = x3;
}
else{
x1 = x4
}
如果您熟悉三元运算符(如果不熟悉,请查找),那么这可能更有意义。
x1 = (x2 ? x3 : x4);
这是一个ternary operator
。
如果X1 = X2
,则X1
取值X3
,否则X1
取值X4
。
?:是"三元运算符";这需要三个论点。第一个参数是一个测试,如果测试为true,第二个参数是返回值,而如果测试为false,第三个参数则是返回值。
因此1 === 1 ? 'foo' : 'bar'
将返回"foo",而1 === 0 ? 'foo' : 'bar'
将返回"bar"。它总是可以用if.else结构来替换,但考虑到它的简短形式,它可以保持代码的整洁。
如果测试值和返回值的形式非常复杂,我会使用更"传统"的If.else结构。
它被称为三元运算符。这是if else的简写。它被用于许多高级编程语言中。
x1 = x2 ? x3 : x4;
上述代码可以扩展为:
x1 = undefined;
if (x2) {
x1 = x3;
} else {
x1 = x4;
}
相关文章:
- 什么'它的意思是当一个变量位于括号外时
- jquery validate 1.8.1”;jQuery"是未定义的错误IE8
- 什么意思是“;向原型添加方法”;
- 什么是“;传递给NewPromiseCapability的非构造函数值“;意思是
- 什么是“;(''+元素+'')“;意思是
- 意思是.js - 登录后重定向用户 - 在本地工作,但在部署时不起作用
- 意思是.JS中间件中的猫鼬填充不起作用
- 究竟是什么'提供静态文件'意思是
- 什么是“;用户:某事;意思是在javascript onclick事件中
- 什么是“;Promise在事件循环的同一个循环上点火“;意思是
- 在 javaScript 中定义函数之前,什么意思是“一个单词:”
- 在轨道上打印东西(字面意思是对打印机)
- 意思是.js AngularJS 菜单服务为页面分配角色
- 什么意思是“服务器标签格式不正确”,这个按钮会发生什么
- 什么是“;php://input"意思是
- 什么是“;警告-可疑代码.'getprop'运算符未被使用"意思是
- 什么是“||"意思是
- 什么是“>>"意思是
- JSLint错误“是什么;类型错误"意思是
- 什么是“?”:"意思是