How do you use the ? : (conditional) operator in JavaScript?

前端 未结 18 1638
感动是毒
感动是毒 2020-11-21 05:48

In simple words, what is the ?: (conditional, "ternary") operator and how can I use it?

相关标签:
18条回答
  • 2020-11-21 05:53
    x = 9
    y = 8
    

    unary

    ++x
    --x
    

    Binary

    z = x + y
    

    Ternary

    2>3 ? true : false;
    2<3 ? true : false;
    2<3 ? "2 is lesser than 3" : "2 is greater than 3";
    
    0 讨论(0)
  • 2020-11-21 05:54

    Ternary Operator

    Commonly we have conditional statements in Javascript.

    Example:

    if (true) {
        console.log(1)
    } 
    else {
        console.log(0)
    }
    # Answer
    # 1
    

    but it contain two or more lines and cannot assign to a variable. Javascript have a solution for this Problem Ternary Operator. Ternary Operator can write in one line and assign to a variable.

    Example:

    var operator = true ? 1 : 0
    console.log(operator)
    # Answer
    # 1
    

    This Ternary operator is Similar in C programming language.

    0 讨论(0)
  • 2020-11-21 05:55

    Ternary expressions are very useful in JS, especially React. Here's a simplified answer to the many good, detailed ones provided.

    condition ? expressionIfTrue : expressionIfFalse
    

    Think of expressionIfTrue as the OG if statement rendering true;
    think of expressionIfFalse as the else statement.

    Example:

    var x = 1;
    (x == 1) ? y=x : y=z;
    

    this checked the value of x, the first y=(value) returned if true, the second return after the colon : returned y=(value) if false.

    0 讨论(0)
  • 2020-11-21 05:57

    Hey mate just remember js works by evaluating to either true or false, right?

    let's take a ternary operator :

    questionAnswered ? "Awesome!" : "damn" ;
    

    First, js checks whether questionAnswered is true or false.

    if true ( ? ) you will get "Awesome!"

    else ( : ) you will get "damn";

    Hope this helps friend :)

    0 讨论(0)
  • 2020-11-21 06:00

    This is a one-line shorthand for an if-else statement. It's called the conditional operator.1

    Here is an example of code that could be shortened with the conditional operator:

    var userType;
    if (userIsYoungerThan18) {
      userType = "Minor";
    } else {
      userType = "Adult";
    }
    
    if (userIsYoungerThan21) {
      serveDrink("Grape Juice");
    } else {
      serveDrink("Wine");
    }
    

    This can be shortened with the ?: like so:

    var userType = userIsYoungerThan18 ? "Minor" : "Adult";
    
    serveDrink(userIsYoungerThan21 ? "Grape Juice" : "Wine");
    

    Like all expressions, the conditional operator can also be used as a standalone statement with side-effects, though this is unusual outside of minification:

    userIsYoungerThan21 ? serveGrapeJuice() : serveWine();
    

    They can even be chained:

    serveDrink(userIsYoungerThan4 ? 'Milk' : userIsYoungerThan21 ? 'Grape Juice' : 'Wine');
    

    Be careful, though, or you will end up with convoluted code like this:

    var k = a ? (b ? (c ? d : e) : (d ? e : f)) : f ? (g ? h : i) : j;
    

    1 Often called "the ternary operator," but in fact it's just a ternary operator [an operator accepting three operands]. It's the only one JavaScript currently has, though.

    0 讨论(0)
  • 2020-11-21 06:00
     (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>"
    
    0 讨论(0)
提交回复
热议问题