Гайды по JavaScript | Программирование
8.43K subscribers
3.04K photos
61 videos
19 files
3.07K links
Наглядные и доступные гайды в картинках по языку программирования JavaScript

Связь: @devmangx
Download Telegram
JavaScript — это широко используемый язык программирования, а значит, он является основной целью для атакующих.

Поэтому важно убедиться, что ваши JS-приложения защищены.

В этом руководстве автор рассказывает о распространённых уязвимостях и о том, как защитить свой код.

https://freecodecamp.org/news/how-to-secure-javascript-applications/

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Крутой трюк: используй тип never в TypeScript, чтобы отлавливать необработанные случаи.

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Прощай, Math.random()

В JavaScript появилась новая предложенная возможность — добавить объект Random в сам язык.

Он включает множество методов для генерации случайных значений

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда-нибудь замечал символы ^ или ~ в package.json и просто их игнорировал?

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

🔹^ (крышка): разрешает минорные и патч-обновления
→ ^18.3.1 обновится до 18.4.x, но не до 19.0.0

🔹~ (тильда): разрешает только патч-обновления
→ ~18.3.1 обновится до 18.3.2, но не до 18.4.0

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Формы во Vue выводят из себя?

Вспомни про useField

На картинке — чистая валидация с vee-validate

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Прокачай SEO своего Nuxt-приложения

Динамическое SEO стало проще с useHead

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Распространённая ошибка во Vue: забывают указать deep в watcher’ах

Первое изображение: не отслеживает вложенные изменения

Второе изображение: watcher с deep: true для вложенных объектов

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Фича в Chrome DevTools — с помощью Gemini (это ИИ-моделька гугла) можно править CSS прямо в Elements и сразу сохранять изменения в исходники

Никакого копипаста между браузером и редактором. Внес правку — она тут же в проекте. Плюс — можно тестить на лету

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
TypeScript: ключевые слова as и satisfies

> as — это утверждение типа. Оно говорит компилятору рассматривать значение как указанный тип, даже если оно фактически ему не соответствует.

> satisfies проверяет, соответствует ли значение заданному типу, не сужая тип и не удаляя лишние свойства.

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Синтаксис TypeScript часто вдохновлён JavaScript.

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

В чём разница?

🔹JS-фичи работают со значениями
🔹TS-фичи работают с типами

Вот несколько примеров:
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Динамическое освещение с помощью CSS и всего 4 строки JavaScript:

https://codepen.io/amit_sheen/pen/gbbzbeR

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
В middleware роутера в nuxt_js нельзя просто так делать throw

Вместо этого ошибку нужно передать в abortNavigation() и вернуть результат как Promise ✔️

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Я обожаю type-safe параметры поиска в Tanstack Router.

Поддержка автодополнения
Zod-схема валидирует параметры
Логика валидации параметров централизована вместе с маршрутом, а не разбросана по приложению
Иерархичность — дочерние маршруты могут добавлять дополнительные параметры

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Это симуляция частиц на Three.js — одно из самых потрясающих зрелищ, что я когда-либо видел

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

🔗 holtsetio.com/lab/flow

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
В следующей версии Bun

Вы можете передавать файлы непосредственно маршрутам в Bun.serve()

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Хочешь реализовать drag & drop в веб-приложении?

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

Если хочешь добавить перетаскивание — это мастхэв

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
> Angular httpResource

httpResource<any>(request options)


> Request URL

url: 'http://localhost:3000/api/gallery', // обязательно


> HTTP-метод

method: 'POST',


> Query-параметры

params: { type: 'short', status: 1 },


> Пользовательские HTTP-заголовки

headers: { 'Custom-Header': 'Test Mode' },


> Тело запроса

body: 'Test Body',


> Отслеживание прогресса

reportProgress: false,


> Передача куки/учётных данных

withCredentials: false,


Этот объект содержит опции запроса,
но только параметр url обязателен.

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда-нибудь ломал реактивность во Vue?

1: Обычные объекты — не реактивны!
2: Используй reactive для объектов! ✔️

👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM