Ternär operatör
Den ternära operatorn, även känd som den villkorliga operatorn, är ett kortfattat sätt att skriva en if-else-sats på en enda rad kod. Den tar tre operander: ett villkor, ett värde som ska returneras om villkoret är sant och ett värde som ska returneras om villkoret är falskt. Syntaxen för den ternära operatorn är som följer:
villkor ? värde_om_troligt : värde_om_falskt
Villkoret utvärderas först. Om det är sant returneras uttrycket value_if_true. Om det är falskt returneras uttrycket value_if_false. Den ternära operatorn används ofta som ett mer koncist alternativ till en if-else-sats i situationer där villkoret är enkelt och den resulterande koden är lättläst.
Tänk till exempel på följande if-else-sats:
if (x > 0) { y = x; } else { y = -x; }
Detta kan skrivas om med hjälp av den ternära operatorn som:
y = (x > 0) ? x : -x;
Den ternära operatorn kan också nästlas för att hantera mer komplexa villkor. Till exempel
resultat = (x > 0) ? "Positivt" : (x < 0) ? "Negativt" : "Noll";
Denna kod kontrollerar om x är större än 0. Om så är fallet returneras värdet "Positiv". Om inte, kontrollerar koden om x är mindre än 0. Om så är fallet returneras värdet "Negative". Om x varken är större eller mindre än 0 returneras värdet "Zero".
Även om den ternära operatorn i vissa fall kan göra koden mer kortfattad och lättare att läsa, kan den också göra koden svårare att förstå om den används för mycket eller på ett olämpligt sätt. Det är viktigt att använda den ternära operatorn med omdöme och att prioritera kodens tydlighet och underhållsmässighet framför korthet.