你如何使用这个词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;