Есть ли в javascript оператор объединения нуля (Элвис) или оператор безопасной навигации?

Я объясню на примере:

Оператор Элвиса (?:)

«Оператор Элвиса» - это сокращение тернарного оператора Java. Один Пример того, где это удобно, для возврат "разумного значения по умолчанию" если выражение принимает значение false или значение NULL. Простой пример может выглядеть так это:

def gender = user.male ? "male" : "female"  //traditional ternary operator usage

def displayName = user.name ?: "Anonymous"  //more compact Elvis operator

Оператор безопасной навигации (?.)

Используется оператор безопасной навигации чтобы избежать исключения NullPointerException. Обычно, когда у вас есть ссылка на объект, который вам может понадобиться проверить что он не равен нулю перед доступом методы или свойства объекта. Чтобы этого избежать, безопасная навигация оператор просто вернет null вместо исключения исключения, например итак:

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
183
задан Elias Zamaria 9 August 2016 в 12:12
поделиться