News Grower

Независимое покрытие AI, стартапов и технологий.

TypeScript врёт — а вы об этом не знаете. Валидация ответов сервера

Недавно я обнаружил, что далеко не все знают об одной простой вещи — и это меня удивило.Многие думают примерно так: «я описал интерфейс, указал что GET /users возвращает User[], TypeScript подсвечивает все поля, автодополнение работает — значит всё под контролем». Звучит разумно. Но есть одна проблема.TypeScript раб...

TypeScript врёт — а вы об этом не знаете. Валидация ответов сервера

Недавно я обнаружил, что далеко не все знают об одной простой вещи — и это меня удивило.Многие думают примерно так: «я описал интерфейс, указал что GET /users возвращает User[], TypeScript подсвечивает все поля, автодополнение работает — значит всё под контролем». Звучит разумно. Но есть одна проблема.TypeScript работает только во время компиляции. В рантайме его нет.Когда реальный ответ прилетает с сервера — никакой проверки не происходит. TypeScript просто верит вашей аннотации и молчит. Что реально вернул сервер — string вместо number, переименованное поле, отсутствующий объект — он не знает и знать не будет.Вы узнаете об этом позже. Обычно от пользователей.

Связанные теги

Компании и люди

Линия сюжета

Продолжить следить за темой

Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.

Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Привет, Хабр. Меня зовут Дима, я делаю WebAsk — конструктор опросов, исследований и тестов. Четыре года назад я писал тут про тотализатор на коленке, спагетти-код из 5000 строк ...

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

Синтетические тесты в вакууме не показывают реальной пользы нейросетей. Индустрии пора переходить на метрики, где во главе угла стоят люди и жизненный контекст

Кратко о CVSS: как оценивать критичность уязвимостей

Разбираем Common Vulnerability Scoring System – что скрывается за цифрой от 0 до 10, как читать базовые, временные и контекстные метрики, и где искать актуальную информацию об у...

Все, что известно о GeForce RTX 6000: разбираем утечки характеристик, сроки выхода и цены

Все, что известно о GeForce RTX 6000: разбираем утечки характеристик, сроки выхода и цены

Серия RTX 5000 на архитектуре Blackwell едва успела обосноваться на рынке, а вокруг следующего поколения уже вовсю кипят страсти. Недавно ютуб-канал Red Gaming Tech опубликовал ...

Организация как Код: как описывать подразделения как исполнимые сервисные контракты

Организация как Код: как описывать подразделения как исполнимые сервисные контракты

В большинстве компаний подразделение до сих пор описывается двумя способами. Первый — оргсхема, где есть прямоугольник с названием отдела и стрелками подчинённости. Второй — пол...

Рекламный слот

Встроенный блок в статье

Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.

Партнерский слот

Похожие статьи

Еще материалы, которые пересекаются по тегам, источнику или категории.

Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Привет, Хабр. Меня зовут Дима, я делаю WebAsk — конструктор опросов, исследований и тестов. Четыре года назад я писал тут про тотализатор на коленке, спагетти-код из 5000 строк ...

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

Синтетические тесты в вакууме не показывают реальной пользы нейросетей. Индустрии пора переходить на метрики, где во главе угла стоят люди и жизненный контекст

Кратко о CVSS: как оценивать критичность уязвимостей

Разбираем Common Vulnerability Scoring System – что скрывается за цифрой от 0 до 10, как читать базовые, временные и контекстные метрики, и где искать актуальную информацию об у...

Еще материалы от Habr

Свежие публикации и продолжение темы от той же редакции.

Открыть страницу источника
Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Привет, Хабр. Меня зовут Дима, я делаю WebAsk — конструктор опросов, исследований и тестов. Четыре года назад я писал тут про тотализатор на коленке, спагетти-код из 5000 строк ...

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

Синтетические тесты в вакууме не показывают реальной пользы нейросетей. Индустрии пора переходить на метрики, где во главе угла стоят люди и жизненный контекст

Кратко о CVSS: как оценивать критичность уязвимостей

Разбираем Common Vulnerability Scoring System – что скрывается за цифрой от 0 до 10, как читать базовые, временные и контекстные метрики, и где искать актуальную информацию об у...

Дополнительное покрытие этой темы

Похожие публикации и близкие по смыслу материалы по этой же теме.

Пост-квантовый гибридный алгоритм шифрования для высоко-нагруженных систем с реализацией на TypeScript

Пост-квантовый гибридный алгоритм шифрования для высоко-нагруженных систем с реализацией на TypeScript

Новый пост-квантовый гибридный алгоритм шифрования для высоко-нагруженных систем с реализацией на TypeScript. Ring-LWE, работа с ключами с использованием MAC и SHAKE-256, защита...

TypeScript в Next.js как система контрактов, а не типизация ради типизации

TypeScript в Next.js как система контрактов, а не типизация ради типизации

Когда разработчик начинает писать на Next.js с TypeScript, первая реакция часто довольно холодная. Вместо того чтобы двигаться быстрее, он начинает чаще видеть ошибки. Где-то не...

Higher-Kinded Types в TypeScript

Higher-Kinded Types в TypeScript

TypeScript прочно закрепился в роли основного языка для типизированной разработки на JavaScript. Его система типов предоставляет множество мощных инструментов: дженерики, условн...