你如何使用这个词JavaScript中的(条件)运算符?
简单地说,什么是你如何使用这个词JavaScript中的(条件)运算符?,javascript,conditional-operator,Javascript,Conditional Operator,简单地说,什么是?:(条件,“三元”)运算符以及如何使用它?它被称为“三元”或“条件”运算符 示例 ?:运算符可以用作 if…else语句的快捷方式。 它通常被用作 较大的表达式,其中if…else 声明会很尴尬。对于 例如: 该示例创建一个字符串 包含“晚上好”,如果是 下午6点以后。等效代码使用 if…else语句看起来像 如下: 从 基本上它是一个简写的条件语句 另见: 这是if-else语句的一行缩写。它被称为条件运算符。1 下面是一个可以使用条件运算符缩短的代码示例: var u
?:
(条件,“三元”)运算符以及如何使用它?它被称为“三元”或“条件”运算符
示例
?:运算符可以用作
if…else语句的快捷方式。
它通常被用作
较大的表达式,其中if…else
声明会很尴尬。对于
例如:
该示例创建一个字符串
包含“晚上好”,如果是
下午6点以后。等效代码使用
if…else语句看起来像
如下:
从
基本上它是一个简写的条件语句
另见:
- 这是if-else语句的一行缩写。它被称为条件运算符。1
下面是一个可以使用条件运算符缩短的代码示例:
var userType;
if (userIsYoungerThan18) {
userType = "Minor";
} else {
userType = "Adult";
}
if (userIsYoungerThan21) {
serveDrink("Grape Juice");
} else {
serveDrink("Wine");
}
这可以用?:
缩短,如下所示:
var userType = userIsYoungerThan18 ? "Minor" : "Adult";
serveDrink(userIsYoungerThan21 ? "Grape Juice" : "Wine");
与所有表达式一样,条件运算符也可以用作具有副作用的独立语句,尽管这不属于缩小范围:
userIsYoungerThan21 ? serveGrapeJuice() : serveWine();
它们甚至可以被链接起来:
serveDrink(userIsYoungerThan4 ? 'Milk' : userIsYoungerThan21 ? 'Grape Juice' : 'Wine');
但要小心,否则最终会产生如下复杂代码:
var k = a ? (b ? (c ? d : e) : (d ? e : f)) : f ? (g ? h : i) : j;
1通常被称为“三值运算符”,但实际上它只是一个三值运算符[接受三个操作数的运算符]。不过,这是JavaScript目前仅有的一个功能。当你只有符号时,用谷歌搜索有点困难;)要使用的术语是“JavaScript条件运算符” 如果您在JavaScript中看到任何更有趣的符号,您应该首先尝试查找JavaScript的运算符:。您可能会遇到的一个例外是 要回答您的问题,条件运算符替换简单的if语句。最好举一个例子:
var insurancePremium = age > 21 ? 100 : 200;
而不是:
var insurancePremium;
if (age > 21) {
insurancePremium = 100;
} else {
insurancePremium = 200;
}
var welcomeMessage = 'Hello ' + (username ? username : 'guest');
相当于
if (x == y)
z = 1;
else
z = 2;
当然,除了更短之外。它被称为
三元运算符。关于更多信息,我回答了另一个问题:
它被称为三元运算符
tmp = (foo==1 ? true : false);
这是一个if语句
都在一行上
所以
要计算的表达式位于()
如果匹配true,则在?
如果匹配为false,则在:
之后执行代码。我想在给定的答案中添加一些
如果您在“如果设置了变量,则显示变量,否则…”这样的情况下遇到(或想要使用)三元数,您可以在不使用三元数的情况下使其更短
而不是:
var insurancePremium;
if (age > 21) {
insurancePremium = 100;
} else {
insurancePremium = 200;
}
var welcomeMessage = 'Hello ' + (username ? username : 'guest');
您可以使用:
var welcomeMessage = 'Hello ' + (username || 'guest');
这是Java脚本,相当于PHP的速记三元运算符?:
甚至:
var welcomeMessage = 'Hello ' + (username || something || maybethis || 'guest');
它计算变量,如果它为false或unset,则继续下一个 三值运算符
我们通常在Javascript中使用条件语句
例如:
var x = 1;
(x == 1) ? y=x : y=z;
但它包含两行或多行,不能指定给变量。
Javascript为这个问题提供了一个解决方案三元运算符。
三元运算符可以在一行中写入并分配给变量
例如:
var x = 1;
(x == 1) ? y=x : y=z;
这个三元运算符与C编程语言中的类似。(sunday=='True')?sun=“S”:sun=“S”;
(sunday == 'True') ? sun="<span class='label label-success'>S</span>" : sun="<span class='label label-danger'>S</span>";
sun = "<span class='label " + ((sunday === 'True' ? 'label-success' : 'label-danger') + "'>S</span>"
sun=“S”
嘿,伙计,记住js是通过计算为真或假来工作的,对吗
让我们看一个三元运算符:
questionAnswered ? "Awesome!" : "damn" ;
首先,js检查所回答的问题是true
还是false
如果true
(?
)您将得到“真棒!”
否则(:
)你会得到“该死的”
希望这对朋友有帮助:)
一元
二进制的
z = x + y
三元
2>3 ? true : false;
2<3 ? true : false;
2<3 ? "2 is lesser than 3" : "2 is greater than 3";
2>3?真:假;
2.
条件(三元)运算符是唯一的JavaScript运算符
这需要三个操作数。此运算符经常用作
if语句的快捷方式
如果条件为true,则运算符返回expr1的值;
否则,它将返回expr2的值
有关更多说明,请阅读我们可以与Jquery一起使用的以及下面的示例:
假设我们有一个GuarantorName文本框,它有一个值,并且想要得到firstname和lastname,它可能是空的。
所以拉萨比
var gnamesplit = $("#txtGuarantorName").val().split(" ");
var gLastName = "";
var gFirstName = "";
if(gnamesplit.length > 0 ){
gLastName = gnamesplit[0];
}
if(gnamesplit.length > 1 ){
gFirstName = gnamesplit[1];
}
我们可以将下面的代码与Jquery一起使用,代码最少
var gnamesplit=$(“#txtGuarantorName”).val().split(“”);
var gLastName=gnamesplit.length>0?gnamesplit[0]:“”;
var gFirstName=gnamesplit.length>1?gnamesplit[1]:“”;
$(“#txtLastName”).val(gLastName);
$(“#txtFirstName”).val(gFirstName);
担保人姓名:
名字:
姓氏:
这可能不是最优雅的方式。但对于不熟悉三元运算符的人来说,这可能是有用的。我个人的偏好是做单行回退而不是条件块
// var firstName = 'John'; // Undefined
var lastName = 'Doe';
// if lastName or firstName is undefined, false, null or empty => fallback to empty string
lastName = lastName || '';
firstName = firstName || '';
var displayName = '';
// if lastName (or firstName) is undefined, false, null or empty
// displayName equals 'John' OR 'Doe'
// if lastName and firstName are not empty
// a space is inserted between the names
displayName = (!lastName || !firstName) ? firstName + lastName : firstName + ' ' + lastName;
// if display name is undefined, false, null or empty => fallback to 'Unnamed'
displayName = displayName || 'Unnamed';
console.log(displayName);
三元表达式在JS中非常有用,尤其是React。下面是对提供的许多好的、详细的答案的一个简化答案
condition ? expressionIfTrue : expressionIfFalse
将expressionIfTrue
看作是呈现true的OG if语句
将expressionIfFalse
看作else语句
例如:
var x = 1;
(x == 1) ? y=x : y=z;
这检查了x的值,如果为true,则返回第一个y=(值),如果为false,则返回冒号后面的第二个返回:返回y=(值)。大多数答案都是正确的,但我想补充一点。三元运算符是右关联的,这意味着它可以按以下方式链接if…else-if … else如果…else
:
function example() {
return condition1 ? value1
: condition2 ? value2
: condition3 ? value3
: value4;
}
相当于:
function example() {
if (condition1) { return value1; }
else if (condition2) { return value2; }
else if (condition3) { return value3; }
else { return value4; }
}
如果您在javascript中有一个条件检查实例函数,则可以查看更多详细信息。很容易使用三元运算符。只需一行即可实现。
例:
这样的函数只有一个条件
var gnamesplit = $("#txtGuarantorName").val().split(" ");
var gLastName = "";
var gFirstName = "";
if(gnamesplit.length > 0 ){
gLastName = gnamesplit[0];
}
if(gnamesplit.length > 1 ){
gFirstName = gnamesplit[1];
}
// var firstName = 'John'; // Undefined
var lastName = 'Doe';
// if lastName or firstName is undefined, false, null or empty => fallback to empty string
lastName = lastName || '';
firstName = firstName || '';
var displayName = '';
// if lastName (or firstName) is undefined, false, null or empty
// displayName equals 'John' OR 'Doe'
// if lastName and firstName are not empty
// a space is inserted between the names
displayName = (!lastName || !firstName) ? firstName + lastName : firstName + ' ' + lastName;
// if display name is undefined, false, null or empty => fallback to 'Unnamed'
displayName = displayName || 'Unnamed';
console.log(displayName);
condition ? expressionIfTrue : expressionIfFalse
var x = 1;
(x == 1) ? y=x : y=z;
function example() {
return condition1 ? value1
: condition2 ? value2
: condition3 ? value3
: value4;
}
function example() {
if (condition1) { return value1; }
else if (condition2) { return value2; }
else if (condition3) { return value3; }
else { return value4; }
}
private module : string ='';
private page:boolean = false;
async mounted(){
if(this.module=== 'Main')
{
this.page = true;}
else{
this.page = false;
}
}
this.page = this.module=== 'Main' ?true:false;