WebCraft - ремесло веб разработки
6.44K subscribers
1.73K photos
260 videos
2 files
236 links
Интересуешься php , js , css , html , Laravel , Vue ? Этот канал для тебя

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront
Менеджер по рекламе: @Spiral_Yuri

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Промисы с нуля

Статья объясняет, как работают промисы в JavaScript, начиная с основ. Автор рассказывает, почему промисы важны для работы с асинхронным кодом, и сравнивает их с колбэками. Описаны создание промисов, их цепочка, обработка ошибок, а также использование async/await для упрощения работы с асинхронностью. Статья включает практические примеры и решает проблему "Callback Hell".

👉 @web_craft | #frontend
This media is not supported in your browser
VIEW IN TELEGRAM
CSS-only game: find 10 differences

Игра с поиском отличий на CSS.

👉 @web_craft | #frontend
Работа с Symbol.species

Как Symbol.species влияет на методы класса-наследника?

Если забыли, то вернитесь к посту от 24.09.2024.

👉 @web_craft | #frontend
Оптимизация объектов с помощью Object.preventExtensions()

Метод Object.preventExtensions(obj) запрещает добавление новых свойств в объект obj.

Пример:
const config = { apiEndpoint: '/api', timeout: 5000 };
Object.preventExtensions(config);

// Попытка добавить новое свойство
config.retryAttempts = 3; // Не будет добавлено

console.log(config.retryAttempts); // undefined

При создании объектов настроек, где важно сохранить неизменяемую структуру, можно использовать функцию:
function createImmutableConfig(options) {
const config = { ...options };
Object.preventExtensions(config);
return config;
}

const appConfig = createImmutableConfig({ debug: true, version: '1.0.0' });

appConfig.newFeature = true; // Не будет добавлено
console.log(appConfig); // { debug: true, version: '1.0.0' }

Это гарантирует, что конфигурация приложения останется предсказуемой и защитит от случайного добавления лишних свойств.

👉 @web_craft | #frontend
Мастерство работы с DOM в JavaScript: Обзор основных вопросов для собеседований

Статья объясняет ключевые вопросы и концепции, связанные с Document Object Model (DOM) в JavaScript, которые часто задаются на собеседованиях. Рассматриваются такие темы, как выбор элементов, работа с методами querySelector и querySelectorAll, добавление и удаление элементов, управление событиями через делегирование, а также различия между innerHTML и textContent. Это поможет лучше подготовиться к техническим собеседованиям, где проверяются фундаментальные знания DOM.

👉 @web_craft | #frontend
Работа с методом Object.freeze()

Какой эффект оказывает метод Object.freeze() на удаление свойств объекта?

Забыли? Вернитесь к посту от 30.09.2024.

👉 @web_craft | #frontend
Метод для работы с символами в JavaScript

Object.getOwnPropertySymbols() возвращает массив символов, которые являются свойствами указанного объекта. В JS символы — это уникальные идентификаторы, которые могут использоваться в объектах для создания скрытых свойств, не отображаемых при обычных обходах объекта.

Пример:
const sym1 = Symbol('first');
const sym2 = Symbol('second');
const obj = {
[sym1]: 'Первое значение',
[sym2]: 'Второе значение',
regularKey: 'Обычное свойство'
};

// Получаем все символы объекта
const symbols = Object.getOwnPropertySymbols(obj);
console.log(symbols); // [Symbol(first), Symbol(second)]

// Доступ к значению символа
console.log(obj[symbols[0]]); // 'Первое значение'

В этом примере создаются два символа sym1 и sym2, которые добавляются как свойства объекта obj. Метод Object.getOwnPropertySymbols() возвращает массив символов, позволяя получить доступ к их значениям.

👉 @web_craft | #frontend
Хойстинг в JavaScript: почему это важно и как это работает

В статье объясняется концепция хойстинга в JavaScript, при которой объявления переменных и функций перемещаются в начало своей области видимости во время компиляции. Рассматриваются примеры работы всплытия для переменных, функций, стрелочных функций и блоков let и const. Также обсуждается, как всплытие влияет на выполнение кода, и рассматривается концепция "Временной мёртвой зоны" (TDZ) для let и const.

👉 @web_craft | #frontend
This media is not supported in your browser
VIEW IN TELEGRAM
Анимированная собака на CSS

Анимация собаки на чистом CSS.

👉 @web_craft |#frontend