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

Автор: @energy_it

Реклама на бирже:
https://telega.in/c/javascript_readyy
Download Telegram
🤓 Напоминалка для работы с Git

Если кто не знает, Git — это система контроля версий, которая помогает отслеживать историю изменений в файлах.

Например с помощью команды git pull, можно загружать удаленные репозитории к себе на ПК, чтобы вести разработку локально, не затрагивая продуктовую или dev ветку.

Сохрани в избранное, чтобы не забыть!

📣 JS Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤝8🔥73
Что же выведет консоль?
Anonymous Quiz
50%
A
29%
B
13%
C
8%
D
10👍9🔥6🤝3
📂 Напоминалка по объявлениям функций!

Например, Function Declaration поддерживает hoisting и доступна до места объявления, а Arrow Function предоставляет более компактный синтаксис и иной механизм работы с контекстом this.

На картинке — 4 основных способа объявления функций в JavaScript, которые необходимо уверенно понимать и применять в повседневной разработке.

Сохрани, чтобы не забыть!

📣 JS Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15🤝12👍10
📱 Dependency Injection — строим расширяемую логику!

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

В этом посте:
• Разберём, в чём проблема жёстких зависимостей;

Покажем базовый DI без классов и контейнеров;

Научимся подменять реализации без переписывания кода;

Построим простую, но гибкую схему внедрения зависимостей.


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

📣 JS Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍98🤝5
Проверяем наличие свойства!

Очень часто нужно проверить, есть ли поле именно в объекте, а не где-то в прототипе. Многие пишут так:
'id' in data;


Но in возвращает true, даже если свойство прилетело из прототипа.

Другой классический вариант - obj.hasOwnProperty, но он небезопасен:
data.hasOwnProperty('id'); // может не существовать


Особенно если объект создан через Object.create(null) или поле переопределено.

Правильный и нативный способ Object.hasOwn:
Object.hasOwn(data, 'id');


Он работает корректно независимо от прототипа.

Очень хорошо ложится на проверки данных, API-ответы и конфиги:
if (Object.hasOwn(config, 'timeout')) {
applyTimeout(config.timeout);
}


🔥 Object.hasOwn — отличный способ проверить наличие свойства в объекте, не задевая прототип.

📣 JS Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍12🤝92
📱 Моделируем риск и решения в интерактивном скрипте!

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

В этой задаче:
Управляем состоянием игры и балансом игрока;

Реализуем аукционную механику с риском;

Строим полноценный игровой цикл;

Анализируем результат каждого решения.


Задача показывает, как моделируются системы с неопределённостью, ограниченными ресурсами и пошаговой логикой.

📣 JS Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2214👍9🤝2
💡 На Хабре вышла мега интересная статья: «Почему свой игровой движок — это проще, чем кажется»!

В этой статье:
• Автор пошагово показывает, как с нуля создать игровой движок без Unity и Unreal;
• Узнаете, как на уровне кода будут двигаться объекты, реализовываться физика и логика игры;
• Приводится реальный пример, как из простого браузерного кода вырастает полноценный игровой цикл.


🔊 Продолжайте читать на Habr!


📣 JS Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1810👍8🤝2
📱 Web Storage API — клиентское хранилище браузера!

В шпаргалке собраны основные методы Web Storage API (localStorage и sessionStorage) для работы с простым key–value хранилищем на стороне клиента. Показано, как сохранять, читать и удалять данные, сериализовывать объекты, очищать хранилище и реагировать на изменения состояния между вкладками с помощью события storage.

📣 JS Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
19🔥10🤝9👍2