TypeScript
-
Как начать изучать TypeScript – руководство для начинающих
JavaScript является наиболее широко используемым языком программирования для веб-разработки. Но он не поддерживает проверку типов, что является важной особенностью современных языков программирования. JavaScript изначально был разработан как простой язык сценариев. Его свободная природа и отсутствие основных объектно-ориентированных программных функций создают определенные проблемы для разработчиков: Ограниченная документация и автоматическое завершение. Невозможность использовать концепции ООП. Отсутствие безопасности типов, что приводит к ошибкам во время выполнения. Проблемы с рефакторингом и поддержкой. Отсутствие интерфейсов и точек интеграции. TypeScript решает эти проблемы. Он был создан,…
-
Построение сервиса погоды с помощью Genkit и искусственного интеллекта
Обзор Этот проект демонстрирует, как создать сервис погоды с использованием искусственного интеллекта с помощью Genkit, TypeScript, OpenWeatherAPI и моделей GitHub. Приложение демонстрирует современные шаблоны Node.js и методики интеграции искусственного интеллекта. Предварительные требования Прежде чем начать, убедитесь, что у вас есть следующее: Установленный Node.js на вашем компьютере Учетная запись GitHub и токен доступа для API GitHub Ключ OpenWeatherAPI для получения данных о погоде Установленный CLI Genkit на вашем компьютере Техническое погружение Настройка ИИ Основная настройка ИИ инициализируется с помощью интеграции плагина…
-
Изучите асинхронное программирование в TypeScript: Promises, Async/Await и Callbacks
Асинхронное программирование — это парадигма программирования, которая позволяет вам писать код, который выполняется асинхронно. В отличие от синхронного программирования, которое выполняет код последовательно, асинхронное программирование позволяет коду выполняться в фоновом режиме, пока остальная часть программы продолжает выполняться. Это особенно полезно для задач, которые могут занять много времени для завершения, таких как получение данных из удаленного API. Асинхронное программирование имеет решающее значение для создания отзывчивых и эффективных приложений на JavaScript. TypeScript, надмножество JavaScript, делает работу с асинхронным программированием еще проще. Существует…
-
Реализуйте калькулятор географических расстояний с использованием TypeScript
При разработке образовательных игр важно предоставлять точную и содержательную обратную связь для привлечения пользователей. В этой статье я поделюсь, как мы реализовали географическую систему расчетов для Flagle Explorer, игры на угадывание флагов, которая помогает пользователям изучать мировую географию через интерактивную обратную связь. Техническое испытание Наши основные требования были: Точные расчеты расстояний между любыми двумя точками на Земле Точные расчеты направлений для навигационного руководства Нормализованная оценка близости Работа в реальном времени для моментальной обратной связи Детали реализации 1. Основная структура данных…
-
Как обеспечить безопасность типов в FormData с TypeScript
Когда вы работаете с интерфейсом FormData в JavaScript, где данные добавляются в виде пар ключ/значение, нет встроенного способа обеспечить безопасность типов для ключей, которые вы добавляете. Это может привести к опечаткам, отсутствующим ключам и неожиданным ошибкам во время выполнения. Но в TypeScript мы можем решить эту проблему, обеспечивая строгую проверку ключей. Мне самому понадобилось это решение, когда я отправлял значения формы в API. Позже я осознал, что допустил несколько опечаток в более чем одной паре ключ/значение, которые я пытался добавить…
-
Брендированные типы в TypeScript
При моделировании сущностей с помощью TypeScript очень часто получается интерфейс следующего вида: TypeScript interface User { id: number username: string … } interface Order { id: number userId: number title: string year: number month: number day: number amount: { currency: ‘EUR’ | ‘USD’, value: number } … } Проблема Типы свойств не имеют семантического значения. С точки зрения типов User.id, Order.id, Order.year и т. д. одинаковы: число, и как число они взаимозаменяемы, но семантически они различаются. Исходя из…
-
JavaScript для начинающих: Назначение динамических классов с помощью ngClass
В веб-приложениях часто требуется настраивать внешний вид элемента в зависимости от условия. Существует несколько способов достижения этой цели, но если вы работаете с Angular, ваш выбор очевиден. Директива ngClass предоставляет множество способов динамического назначения имен классов элементам или компонентам. Ее синтаксис является кратким, но в то же время поддерживает довольно сложную логику, что позволяет нам тонко управлять как нашими именами классов, так и критериями для их установки. В этом руководстве мы рассмотрим некоторые из наиболее распространенных способов динамического назначения CSS-класса…
-
Must-have Chrome extensions for WCAG Testing
В этой статье я вас поведу процессом создания серверлайс-API GraphQL с использованием TypeScript, AWS Lambda и Apollo Server. Серверлайс-компьютинга Серверлайс-компьютинга является модель выполнения облачных вычислений, где облачные провайдеры автоматически управляют инфраструктурой для запуска приложений. В этой модели разработчики пишут код, а облачный провайдер заботится о запуске, масштабировании и обслуживании серверов, что意味着 разработчики не должны заниматься управлением серверами, провайдением инфраструктуры или масштабированием. Термин “без серверов” не означает, что сервера вообще нет, а скорее, что задачи управления серверами отделены от разработчиков. AWS…
-
Что такое предикаты типов в TypeScript? Объяснение с примерами кода
Типовые предикаты – это интересная синтаксическая особенность в TypeScript.尽管它们出现在与 возвращаемого типа аннотации相同的位置,但 они выглядят более как короткие положительные предложения, чем традиционные аннотации. Это gives you greater control over type checking. С выпуском TypeScript 5.5 работа с типовыми предикатами стала более интуитивной, теперь он может их автоматически идентифицировать в многих случаях. However, if you’re working with slightly older code-bases, you’re likely to encounter handwritten type predicates more often. В этой статье мы briefly explore what type predicates are and why they…