169 похожих чатов

Ещё меня интересует, почему TS не даже никак не намекает

на то, что я пытаюсь сравнить число с, возможно, строкой. Разве это не его основная функция – спасити меня от подобных ошибок типизации?

8 ответов

13 просмотров

Strict стоит?

strict тут не при чем, просто все операции в твоем примере могут производится и со строкой, что бы такого избежать лучше явно указывать типы в "критических" для этого местах (в твоём случае - для count)

Михаил
strict тут не при чем, просто все операции в твоем...

При чем в примере где было бы явно видно что присутствие строки гарантировано - ты бы получил ошибку. Добро пожаловать в удивительный мир Typescript :)

Михаил
При чем в примере где было бы явно видно что прису...

А нет, это часть спецификации, вот цитата 4.19.3 The <, >, <=, >=, ==, !=, ===, and !== operators These operators require one or both of the operand types to be assignable to the other. The result is always of the Boolean primitive type. то есть эти операторы работают если хотя один тип операнда может быть присвоен второму, а в твоем примере операнд типа number может быть присвоен операнду string|number

lem0nify- Автор вопроса
Михаил
strict тут не при чем, просто все операции в твоем...

Явно указал и добавил ещё один пример с аргументом функции. Ничего не изменилось.

lem0nify
Явно указал и добавил ещё один пример с аргументом...

Имелось ввиду проставить явный number для count, так как именно он сравнивается с i:number что по мнению спецификации тайпскрипта - нормально.

lem0nify- Автор вопроса
Михаил
При чем в примере где было бы явно видно что прису...

Всё дело в том, что я реальную багу вчера допустил из-за этого. Пример, который Вы видите – это модифицированная версия, т.к. я не могу показывать свой код. Я забыл, что у меня поле может быть числом, а может быть строкой, и в одном месте программы не проверил это и описал только алгоритм для числа, в итоге долго дебажил. Неприятно.

lem0nify
Всё дело в том, что я реальную багу вчера допустил...

Это нормально, тайпскрипт это не 100% type safety.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта