Переменная «живет» после выхода из функции, а память не освобождается.
Мы собрали 4 карточки, чтобы разобраться, как именно это устроено под капотом
#under_hood #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5⚡1🔥1
🔥 Когда понимаешь SOLID — жизнь становится проще
В октябре действует скидка 40% на все курсы от Proglib Academy, включая интенсив «Архитектуры и шаблоны проектирования»
📘 На интенсиве ты:
— разберёшься, как проектировать приложения, которые не ломаются при каждом изменении;
— освоишь SOLID-принципы, IoC, адаптеры и фабрики;
— научишься строить масштабируемые архитектуры;
— создашь собственную игру «Звёздные войны».
👨💻 Примеры кода на C#, Java, Python, PHP, C++ и JavaScript. Главное — понимать принципы, а не язык.
Преподаватель — Евгений Тюменцев, директор компании HWdTech, разрабатывал многопоточные кроссплатформенные приложения для IBM Watson.
📆 Формат: онлайн, 1 месяц.
📚 9 лекций + 2 бонусных занятия + практика.
Интенсив подойдёт джунам, которые хотят апнуться до мидла, и мидлам, мечтающим о роли архитектора.
👉 Переходи к курсам со скидкой 40%
В октябре действует скидка 40% на все курсы от Proglib Academy, включая интенсив «Архитектуры и шаблоны проектирования»
📘 На интенсиве ты:
— разберёшься, как проектировать приложения, которые не ломаются при каждом изменении;
— освоишь SOLID-принципы, IoC, адаптеры и фабрики;
— научишься строить масштабируемые архитектуры;
— создашь собственную игру «Звёздные войны».
👨💻 Примеры кода на C#, Java, Python, PHP, C++ и JavaScript. Главное — понимать принципы, а не язык.
Преподаватель — Евгений Тюменцев, директор компании HWdTech, разрабатывал многопоточные кроссплатформенные приложения для IBM Watson.
📆 Формат: онлайн, 1 месяц.
📚 9 лекций + 2 бонусных занятия + практика.
Интенсив подойдёт джунам, которые хотят апнуться до мидла, и мидлам, мечтающим о роли архитектора.
👉 Переходи к курсам со скидкой 40%
🥰4
Ранее мы выкладывали задачу для джуна+.
Сегодня разберем, что происходит в этом коде и как работают присваивания и ссылки на объекты в JavaScript.
1. let a = { n: 1 }; — создаём объект { n: 1 } и присваиваем его переменной a.
2. let b = a; — b теперь ссылается на тот же объект, что и a.
3. a.x = a = { n: 2 }; —
• Присваиваем новому объекту { n: 2 } переменную a.
• После этого свойству x объекта { n: 2 } присваиваем сам объект { n: 2 }.
4. console.log(a.x); — выводит undefined, так как свойство x в новом объекте { n: 2 } не было установлено.
5. console.log(b.x); — выводит объект { n: 2 }, потому что b ссылается на старый объект { n: 1 }, который теперь имеет свойство x, указывающее на { n: 2 }.
• b.x — { n: 2 }
#code_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4😢3
Вместо :invalid, который срабатывает сразу, используйте :user-invalid.
Что это дает:— Валидация срабатывает только после взаимодействия с полем
— Не показываем ошибки в пустой форме при загрузке
— Лучший UX без дополнительного JS
Сейчас на курсы Proglib действует −40%
#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥2🥰2
Интересно узнать реальную статистику — от бюджетников до топовых сборок.
— Модель, процессор, RAM, SSD, год.
— Всё работает или есть проблемы?
— Довольны или хотите апгрейд?
Соберём честную картину
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱7🤔3🥰2
API URLPattern — это простой и мощный инструмент для сопоставления и валидации URL.
#stack #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2🥰2
Feature-Sliced Design (FSD) — это методология для архитектуры фронтенд-приложений, ориентированная на упрощение понимания кода и его стабильность при постоянных изменениях бизнес-требований.
Структура из 7 слоёв:
1️⃣ app/ — инициализация приложения: роутинг, точки входа, глобальные стили, провайдеры2️⃣ processes/ — устаревший слой, сейчас рекомендуется использовать features и app3️⃣ pages/ — полные страницы приложения или крупные части страницы при вложенной маршрутизации4️⃣ widgets/ — крупные самодостаточные блоки функциональности или UI, реализующие целый сценарий использования5️⃣ features/ — продуктовые функции, которые приносят
бизнес-ценность пользователю6️⃣ entities/ — бизнес-сущности, с которыми работает проект (например, user или product)7️⃣ shared/ — переиспользуемая функциональность, не привязанная к специфике проекта или бизнеса
#blueprint
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🥰3👏3🤔1
💥 Октябрь — месяц апгрейда!
До конца этого месяца действует скидка 40% на все курсы Proglib Academy(кроме AI-агентов, ML для старта и математики) .
Под акцию попал и наш хит — курс «Алгоритмы и структуры данных».
👨💻 Он подойдёт джунам, мидлам и всем, кто хочет писать код осознанно, а не наугад.
👨🏫 Преподаватели — инженеры из Яндекса и ВШЭ.
🎓 Сертификат по итогам обучения — в портфолио.
➖ 47 видеоуроков и 150 практических задач;
➖ поддержка преподавателей и чат;
➖ доступ к материалам на 12 месяцев.
Полная программа курса тут 👈
👉 Остальные курсы
До конца этого месяца действует скидка 40% на все курсы Proglib Academy
Под акцию попал и наш хит — курс «Алгоритмы и структуры данных».
👨💻 Он подойдёт джунам, мидлам и всем, кто хочет писать код осознанно, а не наугад.
👨🏫 Преподаватели — инженеры из Яндекса и ВШЭ.
🎓 Сертификат по итогам обучения — в портфолио.
➖ 47 видеоуроков и 150 практических задач;
➖ поддержка преподавателей и чат;
➖ доступ к материалам на 12 месяцев.
Полная программа курса тут 👈
👉 Остальные курсы
🥰2
Please open Telegram to view this post
VIEW IN TELEGRAM
Казалось бы, простой условный рендеринг. Но вот вам сюрприз.
Когда
items
пустой массив, items.length
равен 0
. В JavaScript 0
— это falsy значение, поэтому выражение 0 && <ul>
вернет 0
.React рендерит числа, поэтому на экране появится цифра
0
!function ProductList({ items }) {
return (
<div>
<h2>Товары</h2>
{items.length > 0 && <ul>
{items.map(item => <li key={item.id}>{item.name}</li>)}
</ul>}
</div>
);
}
Или еще лучше:
{!!items.length && <ul>...</ul>}
Или тернарный оператор:
{items.length ? <ul>...</ul> : null}
Оператор && возвращает первое falsy значение или последнее truthy:
0 && <Component /> → вернет 0 (React рендерит!)
false && <Component /> → вернет false (React не рендерит)
true && <Component /> → вернет <Component />
React не рендерит: false, null, undefined, true
React рендерит: числа (0, 1, -1), строки, компоненты
#hotfix #react
Please open Telegram to view this post
VIEW IN TELEGRAM