Заметки разработчика
462 subscribers
737 photos
4 videos
1.22K links
Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов.

https://www.dev-notes.ru

@snakenf
Download Telegram
Если необходимо создать npm пакет и гарантировать, что его смогут использовать все желающие, нужно, чтобы он поддерживал CommonJS (CJS) и ECMAScript Modules (ESM). Рассмотрим, как создать такой пакет используя TypeScript.

https://www.dev-notes.ru/articles/typescript/create-npm-package-commonjs-esm/

#TypeScript #JavaScript #npm
3🔥2
#JavaScript #TypeScript

👩‍💻 Всё о циклах в JavaScript

В каждом языке программирования есть циклы. Циклы выполняют операцию (т. е. часть работы) несколько раз, обычно по одному разу для каждого элемента массива или списка, или просто повторяют операцию до тех пор, пока не будет выполнено определённое условие.

В JavaScript, есть довольно много типов циклов. Я даже не все из них использовал, поэтому ради собственного любопытства решил сделать их поверхностный обзор. И, как оказалось, есть довольно веские причины, не использовать пару из этих типов.

Итак, давайте изучим различные типы циклов, что можно делать с каждым из них и почему следует использовать один, а не другой. (К концу вам покажется, что эта небольшая игра слов совершенно уморительна).

🖥 Читать статью

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#TypeScript #null #never #tips

💡 Забавный факт из TypeScript: В любую функцию можно передать null!

! - это утверждение о non-nullable, а null - это null, так что вместе они составляют never.

А never можно передать чему угодно!

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
👩‍💻 React и FormData

Когда изучаете, как получить доступ к данным формы в React, исторически вы должны были узнать об управляемых и неуправляемых полях. Позже можете начать использовать сторонние абстракции, такие как Formik или React Hook Form, использующие управляемые и неуправляемые методы под капотом. В любом случае конечной целью является сбор данных формы. В случае с управляемой формой ваши данные — это ваше состояние. В случае с неуправляемой нужно собирать значения формы самостоятельно, и обычно разработчики выбирают для этого рефы.

Все поля форм в React должны быть либо управляемыми, либо неуправляемыми, потому что вы либо добавляете value в проп, либо нет. FormData, стандарт JavaScript с 2010 года, — это способ доступа к данным формы, независимо от того, управляемая она или неуправляемая, но большинство предпочитает неуправляемую.

🖥 Читать статью

📱 @dev_notes_ru

#React #FromData #JavaScript #TypeScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥1
👩‍💻 Что такое TypeScript. Обзор для JavaScript программистов

Если вы JavaScript программист и хотите получить представление об использовании TypeScript (первый шаг перед изучением подробностей), то эта статья для вас.

🖥 Читать статью

📱 @dev_notes_ru

#TypeScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Типизация JavaScript: почему JSDoc — это полноценная альтернатива TypeScript

А вы знали, что можно получить все преимущества TypeScript, оставаясь в рамках чистого JavaScript? Всё благодаря JSDoc — системе типизации, которая работает через комментарии. В обновлённой статье:

Добавили больше практических примеров аннотаций
Расширили сравнение рабочих процессов (workflow)
Включили ответы на частые вопросы из комментариев

Этот подход идеален для легаси-проектов, скриптов и случаев, где важна скорость разработки без настройки сборки. Обновление делает материал ещё более прикладным.

🖥 Читать статью

📱 @dev_notes_ru

#JavaScript #JSDoc #TypeScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
👩‍💻 Типизация JavaScript через JSDoc: Руководство по настройке TypeScript Compiler

Используете JSDoc только для подсказок в редакторе? Тогда вы теряете главное: сквозную проверку типов от локальной разработки до продакшена.

В свежей статье рассматриваем профессиональную настройку системы типов через TypeScript Compiler:

🔹 Как за 5 минут включить проверку типов во всём проекте.
🔹 Автоматическая генерация .d.ts файлов для ваших библиотек.
🔹 Интеграция строгой проверки в CI/CD — код с ошибками не попадёт в main.

Это не хак, а легитимный подход для больших проектов. Если вы до сих пор просто ставите // @ts-check и думаете, что это всё — вам сюда.

🖥 Читать статью

📱 @dev_notes_ru

#JavaScript #JSDoc #TypeScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Явное управление ресурсами в JavaScript

Статья полностью переработана. Добавлены DisposableStack и AsyncDisposableStack, примеры с fetch и navigator.locks, актуальный статус поддержки.

Спецификация Explicit Resource Management (Stage 3) вводит единый языковой контракт освобождения ресурсов. Объекты с Symbol.dispose / Symbol.asyncDispose используются через using и await using — очистка происходит автоматически при выходе из области видимости.

В материале:
— Синтаксис и семантика using, await using, DisposableStack.
— Интеграция с существующими API: отмена fetch, управление navigator.locks.
— Полифилл и требования к окружению.

🖥 Читать статью

📱 @dev_notes_ru

#JavaScript #TypeScript #NodeJS
Please open Telegram to view this post
VIEW IN TELEGRAM
JSDoc на практике: как добавить типизацию в JS-проект без TypeScript

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

Да, и это связка JSDoc + TypeScript Compiler. Без единого .ts файла, но с полноценной проверкой в редакторе и CI. Разобрал реализацию этого подхода в проекте Kelp (автор — Крис Фердинанди). Делюсь выводами и настройками:

🔹 Как настроить tsc для работы с ванильным JS.
🔹 Как типизировать переменные, функции и DOM без боли.
🔹 Как собирать кастомные типы через @typedef и не плодить дубли.

Код по-прежнему работает прямо в браузере, а ошибки отлавливаются на этапе написания.

🖥 Читать статью

📱 @dev_notes_ru

#jsdoc #JavaScript #TypeScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2