Pull to refresh

Comments 12

Так а как они «меняют наш подход к написанию кода»? Тем что новые фичи будут использоваться как и задумывалось? Не похоже на новый подход.
Опциональная цепочка не защищает от вызова несуществующей функции:

Хотелось бы уточнить, что такая возможность есть и описана в стандарте: data.user?.()

В node появится только в 14 версии под флагом, в хроме уже в 79 версии под флагом
Удобные операторы из C#, их очень не хватало.

Это максимальное число ошибок в слове "Groovy"?

Классные нововведения, очень долго ждал. Новые операторы помогают код сделать более лаконичным и коротким ). После c# так не хватало в ts
// если data.user.alias является пустой строкой, которую мы хотим получить
data?.user?.alias ?? 'code ninja' // ''
data?.user?.alias || 'code ninja' // code ninja

Помогите тупенькому понять. Если data.user.alias — пустая строка, то я получу пустую строку вместо null в первом случае? А во втором «код ниндзя» потому что пустая строка воспринимается как false? А если в первом случае null | undefined, то что тогда получу?
Если data.user.alias — пустая строка, то я получу пустую строку вместо null в первом случае?

да
А во втором «код ниндзя» потому что пустая строка воспринимается как false?

да
А если в первом случае null | undefined, то что тогда получу?

вернет 'code ninja'
«Опциональная цепочка не защищает от вызова несуществующей функции»
А в чем теперь будет защита? Будет ошибка, которую не заметим? Что-то не очень… Как в добром Basic: On Error GoTo 0

Ну можно сделать в любом случае some?.method?.call(some, args);
Хотя выглядит не особо. Но выше пишут, что в стандарте есть более элегантное решение.

Добавлена возможность легче писать менее аккуратный код. Как-то не вдохновляет.
Sign up to leave a comment.

Articles