Tach!
Lesbarer ist ersteres für Hobbyprogrammierer (nicht abwertend gemeint, da ich selbst einer bin) imho auf jeden Fall. 😉
Für Anfänger gibt es Tutorials. In produktivem Code darf man ruhig schreiben, der für fortgeschrittene Leser gedacht ist.
Es ist auch semantisch ein Unterschied, ob man einer Variable den einen oder den anderen Wert zuweist oder ob man in Abhängigkeit der Bedingung das eine oder das andere tut, was auch grundverschiedene Dinge sein können. Im Zweifelsfall muss man als Leser erstmal herausfinden, dass das doch die gleiche Variable oder vielleicht zwei verschiedene sind.
Auch in der kurzen Variante könnten Klammern die Lesbarkeit erhöhen.
var erledigt = (val_defekt == '1' ? 'Anwender' : '');
Finde ich nicht. Vermutlich kommt dann aber der Linter um die Ecke und erzählt dir, dass die Klammern da überflüssig sind.
Wenn man bei ternären Operator klammert, sollte man das bei komplexeren Ausdrücken tun, wenn die Bedingung mehr als einen Ausdruck enthält und man die Eindeutigkeit der Operatorenrangfolge technisch notwendigerweise angeben muss oder das zeigen möchte. Im letzteren Fall hat man aber wieder potentielles Lintergemecker.
dedlfix.