Mit einfachen Worten, was ist die ?:
(bedingter, "ternärer") Operator und wie kann ich ihn verwenden?
Wäre es klarer, einfach zurückzugeben this.page = this.module=== 'Main'
. es ist bereits ein Boolescher Wert.
Mit einfachen Worten, was ist die ?:
(bedingter, "ternärer") Operator und wie kann ich ihn verwenden?
Wenn Sie eine Konditionsprüfungsinstanzfunktion in javascript . es ist einfach zu benutzen ternärer Operator . die nur noch eine einzige Zeile zu implementieren. Ex:
private module : string ='';
private page:boolean = false;
async mounted(){
if(this.module=== 'Main')
{
this.page = true;}
else{
this.page = false;
}
}
Eine solche Funktion mit einer Bedingung kann wie folgt geschrieben werden.
this.page = this.module=== 'Main' ?true:false;
Bedingung ? if True : if False
Dies ist wahrscheinlich nicht gerade die eleganteste Art, dies zu tun. Aber für jemanden, der mit ternären Operatoren nicht vertraut ist, könnte sich dies als nützlich erweisen. Ich persönlich bevorzuge einzeilige Fallbacks anstelle von Bedingungsblöcken.
// 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);
So sollte man eine ternäre Zuordnung wirklich nicht schreiben und auch === nicht == verwenden, sonst könnte man auch einfach sunday ?
.es sollte sein sun = "<span class='label " + ((sunday === 'True' ? 'label-success' : 'label-danger') + "'>S</span>"
Der Sinn der ternären Bedingung besteht darin, die Werte der bedingten Zuweisung zu verkürzen, andernfalls sollten Sie einfach eine if-Anweisung verwenden.
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.