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

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

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

8 ответов

12 просмотров

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.

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта