Trinitäts-Operator / Trinitätsoperator (Kurzschreibweise von if)

Es gibt in vielen (Wenn nicht sogar in allen?) Programmiersprachen den sogenannten Trinitätsoperator.

Er ist so aufgebaut:

(Bedingung) ? true : false

Diese Schreibweise ist nur eine Kurzform für das hier:

if(bedingung)
{
true
}
else
{
false
}

In PHP sieht das so aus:

//Direkte Ausgabe
echo ($i < 0) ? "i ist kleiner als 0" : "i ist größer als / gleich Null";

//Zuweisung
$variable = ($i < 0) ? "i ist kleiner als 0" : "i ist größer als / gleich Null";

Oder JavaScript (JS):

var variable = (i < 0) ? "i ist kleiner als 0" : "i ist größer als / gleich Null";

Verwendung

Der Trinitäts-Operator (engl. Trinity) wird verwendet, wenn man Bedingungen möglichst kompakt formulieren will.
Ich verwende ihn sehr oft, da er den Code meiner Meinung nach übersichtlicher macht!

Wann sollte man ihn nicht verwenden?

Wenn 2 verschiedene Variablen je nach Bedingung verändert werden sollen:

//Direkte Ausgabe
//Hier ist die Verwendung sinnlos
if(bedingung)
{
variable1 = "bla";
}
else
{
variable2 = "blabla";
}

Hier finde ich, dass der Operator den Code nur unübersichtlich machen würde:

(bedingung) ? variable1 = "bla" : variable2 = "blabla";

Aber das ist Geschmackssache!

Wann sollte man ihn verwenden?

Ein Beispiel FÜR die Verwendung des Trinititätsoperators:

//Direkte Ausgabe
//Hier ist die Verwendung sinnvoll
if(bedingung)
{
variable1 = "bla";
}
else
{
variable1 = "blabla";
}

wird zu

//Direkte Ausgabe
variable1 = (bedingung) ? "bla" : "blabla";

Hier wird der Code durch die Kurzschreibweise von 8 Zeilen auf eine Zeile reduziert. Wenn man sich jetzt vorstellt, dass man im Code 5 solcher ifs hat, ist man sicherlich froh, wenn man nicht 40 Zeilen hat, sondern nur 5.

1 Star2 Stars3 Stars4 Stars5 Stars (1 Stimme, durchschnittlich 5,00 / 5)
Loading...


7 Kommentare zu “Trinitäts-Operator / Trinitätsoperator (Kurzschreibweise von if)”

  1. […] Trinitäts-Operator / Trinitätsoperator (58) […]

  2. […] Trinitäts-Operator / Trinitätsoperator (69) […]

  3. Ist mir bisher „nur“ unter den Namen Ternär-, Konditional-, oder schlicht Fragezeichenoperator bekannt … wieder was neues …

  4. Die Bezeichnung „Fragezeichenoperator“ kannte ich bereits. Die anderen sind mir neu.

    So lernt man dazu 🙂

  5. Besonders nett wird’s ja, wenn man den in eine lange Zuweisung einbettet (PHP):

    $a = "langes blabla ".(($b>0)?"größer":"Pech")." noch mehr blabla"

    oder in einen Funktionsaufruf:

    tollefunktion( (current_user_can('level_10'))? 400:20 );

  6. Ohja, ich liebe diesen Operator 🙂

  7. Ich wusste gar nicht, dass dieser eine eigene Bezeichnung hat 🙂
    Aber lange arbeite ich damit noch nicht und noch nicht mals so häufig.
    Nützlich ist er aber an manchen Stellen alle Male 🙂

Hinterlasse einen Kommentar!

Time limit is exhausted. Please reload the CAPTCHA.

»Informationen zum Artikel

Autor: Simon
Datum: 23.07.2009
Zeit: 15:00 Uhr
Kategorien: Wissenswertes
Gelesen: 12256x heute: 3x

Kommentare: RSS 2.0.
Diesen Artikel kommentieren oder einen Trackback senden.

»Meta