указать (error instanceof Error) === true https://www.typescriptlang.org/play?target=9&jsx=0#code/MYewdgzgLgBAlhAogJ2SZMC8MAUBTVdALhgFcwBrMEAdzAEoTpk4wBzLAPhgG8AoGPABmufIQytoAQzDA8IESjTJ6WTNijJSeVcjxRSyMDALKAdAFs8ECFLZ4A3AJMAbCHhh6DRmAGVNrGxiyvQOMHwAvk58fKCQsAhK6ABMWLimxGSU1HSMMMyBXLzOcCI4wejw8TJyCjBJKrr6hsYZyJbWtvZOgnhuHl4tfgHsFSphkU5AA
Сложное выражение. Зачем сравнивать с true? Думаю, в компилятор "защиты" базовые паттерны (как во втором случае у вас)
открыл твой пример, удалил вторую функцию, удалил проверку сравнения на тру и все заработало
та да, только например проще воспринимать if ((error instanceof Error) === false) {} чем if (!(error instanceof Error)) {}
Там в else только return пропущен, кажется
Имхо, ТС не предназначен делать код читабельным. На моей практике то, что считают "читабельным джс кодом", является не оптимальным кодом с точки зрения интерпретатора языка. Вспомнить хотя бы reduce vs for-loop https://t.me/ts_cool/313206
ну в этом случаи для компилятора пофиг или if ((error instanceof Error) === false) {} или if (!(error instanceof Error)) {} там все-равно AST разбирает все на токены
Долго рассказывать. Но это не тема ТС уже. Если вам интересно, как работает v8, можете в https://t.me/AsForJsTalks написать - там вам объяснят
Имхо читабельнее будет, если вообще отказаться от отрицания. Там же и так есть else. Почему бы не if (error instanceof Error) {} else{ } ?
Серъезно?) Вместо отрицания создавать доп. ветки условий?)
Обсуждают сегодня