527 Stimmen

Wie verwendet man den ? (bedingter) Operator in JavaScript?

Mit einfachen Worten, was ist die ?: (bedingter, "ternärer") Operator und wie kann ich ihn verwenden?

2voto

Gajendra D Ambi Punkte 3270
x = 9
y = 8

unär

++x
--x

Binär

z = x + y

Ternär

2>3 ? true : false;
2<3 ? true : false;
2<3 ? "2 is lesser than 3" : "2 is greater than 3";

1voto

Jason Gennaro Punkte 33907

Es ist ein if statement alle in einer Zeile.

だから

var x=1;
(x == 1) ? y="true" : y="false";
alert(y);

Der auszuwertende Ausdruck steht in der ( )

Wenn sie wahr ist, wird der Code nach der ?

Wenn er falsch ist, führen Sie den Code nach der :

0 Stimmen

Var x=1; y = (x == 1) ? true : false;

1voto

Srikrushna Punkte 3387

Der bedingte (ternäre) Operator ist der einzige JavaScript-Operator der drei Operanden benötigt. Dieser Operator wird häufig als Abkürzung für die if-Anweisung verwendet.

condition ? expr1 : expr2 

Wenn die Bedingung wahr ist, gibt der Operator den Wert von expr1 zurück; andernfalls gibt er den Wert von expr2 zurück.

function fact(n) {
  if (n > 1) {
    return n * fact(n-1);
  } else {
    return 1;
  }
  // we can replace the above code in a single line of code as below
  //return (n != 1) ? n * fact(n - 1) : 1;
}
console.log(fact(5));

Für weitere Informationen lesen Sie bitte Link zum MDN-Dokument

1voto

Ajay2707 Punkte 5605

Wir können mit Jquery als auch die Länge als unten Beispiel verwenden:

Angenommen, wir haben das Textfeld "Bürgenname", das einen Wert hat, und möchten den Vor- und Nachnamen abfragen - er kann null sein. Also rathar als

        var gnamesplit = $("#txtGuarantorName").val().split(" ");
        var gLastName = "";
        var gFirstName = "";
        if(gnamesplit.length > 0 ){
           gLastName  = gnamesplit[0];        
        }
        if(gnamesplit.length > 1 ){
           gFirstName = gnamesplit[1];        
        }

Wir können folgenden Code mit Jquery mit minimalem Code verwenden

    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);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div >
  Guarantor Name: <input type="text" id="txtGuarantorName" value="ASP.NET Core"  /><br/>
  <br/>
  <br/>

  First Name: <input type="text" id="txtLastName" value="ASP.NET Core"  />
  Last Name: <input type="text" id="txtFirstName" value="ASP.NET Core"  />
</div>

0voto

Der ternäre Operator ist nur eine einfache Möglichkeit, if else-Bedingungen zu schreiben. Er wird häufig in ReactJS verwendet.

Zum Beispiel:

const x = 'foo';

// Instead of if else use this
x === 'foo' ? alert('True') : alert('False');

// Output
// alert box will prompt 'True'

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X