JavaScript Ready | Программирование
8.18K subscribers
989 photos
60 videos
527 links
Авторский канал по разработке на JavaScript.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Cотрудничество: @energy_c
Download Telegram
📱 Консольное приключение — “Побег из лабиринта”

Сегодня создадим мини-игру в консоли, где ты застрял в цифровом лабиринте. Нужно найти выход, пока не закончились ходы. Каждый шаг — выбор направления, и только логика поможет выбрать правильный путь.

В этом посте:
• Генерируем случайный лабиринт и случайный выход;

• Реализуем движение по сетке (w/a/s/d);

• Добавляем ограничение по ходам;

• Проверяем победу и поражение.


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

📣 JS Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤7🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ Codecademy — полезная интерактивная площадка для изучения JS!

На сайте можно учиться прямо в браузере, без установки среды и лишней теории. Уроки состоят из коротких заданий с кодом: пишешь, видишь результат, работаешь над ошибками и двигаешься дальше. Постепенно проходишь весь путь, от основ синтаксиса до работы с DOM и API.

📌 Оставляю ссылочку: codecademy.com

📣 JS Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤7🔥5🤝1
📱 Object Descriptors — свойства, которые живут по правилам!

За каждым свойством стоит дескриптор — флаги writable, enumerable, configurable, а также get и set. Через них движок решает, что можно менять, а что нет.

В этом гайде:
• Разберём, как движок хранит метаданные свойств;

• Создадим настоящие readonly-поля;

• Сделаем computed-свойство с валидацией;

• Поймём, как freeze() и seal() просто массово меняют флаги.


Так дескрипторы превращают объекты из простых структур в механизмы с правилами.

📣 JS Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍7🔥6🤝1
Знали, что fetch-запрос можно отменить прямо из JS?

Когда пользователь меняет фильтр или быстро вводит новый текст, старые запросы продолжают работать и мешают актуальным данным.

AbortController создаёт сигнал, который можно “прикрепить” к fetch:
const controller = new AbortController();
fetch('/api/data', { signal: controller.signal });


Если запрос больше не нужен, просто “абортим”:
controller.abort();


При отмене fetch выбрасывает AbortError — это нормально, можно отловить и проигнорировать:
fetch(url, { signal: controller.signal })
.catch(err => {
if (err.name !== 'AbortError') throw err;
});


🔥 Деталь, которая делает код предсказуемым даже под нагрузкой.

📣 JS Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍9🔥7
📱 Разбираем работу с ошибками и исключениями!

В этой шпаргалке собраны основные приёмы и функции для работы с ошибками: try, catch, finally, throw, а также логирование и проверка типов ошибок. Они применяются при работе с API, асинхронными операциями и бизнес-логикой. Умение правильно обрабатывать ошибки делает код устойчивым и предсказуемым.

📣 JS Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤7🔥6
4 способа скопировать массив без мутаций!

Чтобы избежать случайных изменений исходных данных, важно уметь создавать независимую копию массива.

1. Spread-оператор (поверхностная копия — вложенные объекты остаются по ссылке)
const arr = [1, 2, 3];
const copy = [...arr];


2. Метод slice() (поведение как у spread — неглубокое копирование)
const arr = [1, 2, 3];
const copy = arr.slice();


3. Метод Array.from()
const arr = [1, 2, 3];
const copy = Array.from(arr);


Поддерживает преобразование элементов:
const doubled = Array.from(arr, x => x * 2); // [2, 4, 6]


4. Глубокая копия через JSON (если есть вложенные данные), но теряет функции, undefined и даты
const arr = [{ id: 1 }, { id: 2 }];
const deepCopy = JSON.parse(JSON.stringify(arr));


🔥 Эти приёмы помогают писать стабильный и предсказуемый код, особенно при работе со сложными структурами.

📣 JS Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍10🔥7
📱 Программируем нейрон прямо в консоли!

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

В этой задаче:
• Реализуем скалярное произведение и сигмоиду вручную;

• Собираем несколько нейронов в слой и выполняем forward-pass;

• Добавляем консольную визуализацию, чтобы увидеть, как «думает» сеть.


Такая практика помогает понять, почему разные функции активации ведут себя по-разному.

📣 JS Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥10👍6🤝4