Size: a a a

JavaScript.Ninja

2020 October 05

VK

Vladimir Klimov in JavaScript.Ninja
Illya Klymov
expression влияющий на control flow
Ну, тут вопрос о том когда стоит использовать исключения вообще. А если в каком-то конкретном случае стоит использовать именно throw, то чем expression - это плохо?
источник

IK

Illya Klymov in JavaScript.Ninja
Я глобально о концепции. Выражение должно иметь результат
источник

VK

Vladimir Klimov in JavaScript.Ninja
Illya Klymov
Я глобально о концепции. Выражение должно иметь результат
А, понимаю. Просто есть такое в других языках  и там это кажется удобным...
Хотя, по большому счету, удобство - единственное, что этот proposal привносит, и действительно сомнительное, наверное🤔
источник

IK

Illya Klymov in JavaScript.Ninja
я вообще считаю что throw не нужен
источник

IK

Illya Klymov in JavaScript.Ninja
Errors-as-Value
источник

IK

Illya Klymov in JavaScript.Ninja
по крайней мере не нужен без паттернматчинга
источник

IK

Illya Klymov in JavaScript.Ninja
в Рескрипте я с удовольствием этим пользуюсь
источник

IK

Illya Klymov in JavaScript.Ninja
источник

A

Alxndr 🗽👇 in JavaScript.Ninja
как же круто особенно первый кейс с attempt
источник

VK

Vladimir Klimov in JavaScript.Ninja
Блин, декларативненько)
источник

IK

Illya Klymov in JavaScript.Ninja
я вообще тащусь от рескрипта )
источник

IK

Illya Klymov in JavaScript.Ninja
поэтому у меня в тайпскрипте такие свитчи всегда подперты костылем exhaustive check :)
источник

VK

Vladimir Klimov in JavaScript.Ninja
Ну, вот throw as expression и предложили, чтобы можно было писать лаконичнее исходя из того, что есть)
источник

IK

Illya Klymov in JavaScript.Ninja
Я всё ещё против
источник

IK

Illya Klymov in JavaScript.Ninja
Вот здесь это выглядит норм потому что switch это сам по себе оператор control flow
источник

A

Alxndr 🗽👇 in JavaScript.Ninja
там ведь наверняка эксепшены отлавливаются компилятором он тебя заставит их выше схватить и как-то обработать
источник

IK

Illya Klymov in JavaScript.Ninja
неа
источник

IK

Illya Klymov in JavaScript.Ninja
Exceptions are just a special kind of variant, thrown in exceptional cases (don't abuse them!). (с)
источник

IK

Illya Klymov in JavaScript.Ninja
в рескрипте exception не является особенным примитивом )
источник

IK

Illya Klymov in JavaScript.Ninja
это просто тип возвращаемого значения
источник