Ich erkläre anhand eines Beispiels:
Elvis Operator (? :)
Der "Elvis-Operator" ist eine Abkürzung des ternären Operators von Java. Ein Beispiel dafür ist die Rückgabe eines "vernünftigen Standardwerts", wenn ein Ausdruck in "false" oder "null" aufgelöst wird. Ein einfaches Beispiel könnte folgendermaßen aussehen:
def gender = user.male ? "male" : "female" //traditional ternary operator usage
def displayName = user.name ?: "Anonymous" //more compact Elvis operator
Sicherer Navigationsbetreiber (?.)
Der Operator "Sichere Navigation" wird verwendet, um eine NullPointerException zu vermeiden. Wenn Sie einen Verweis auf ein Objekt haben, müssen Sie möglicherweise überprüfen, ob dieser nicht null ist, bevor Sie auf Methoden oder Eigenschaften des Objekts zugreifen. Um dies zu vermeiden, gibt der Operator für die sichere Navigation einfach null zurück, anstatt eine Ausnahme auszulösen:
def user = User.find( "admin" ) //this might be null if 'admin' does not exist
def streetName = user?.address?.street //streetName will be null if user or user.address is null - no NPE thrown
??
) in Javascript bereitstellen ? Alles, was ich bisher finde, deutet darauf hin, dass JS nur "Falsey" hat, das verschmilzt (mit ||
).