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

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

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Retro Slot Machine

Интерактивный ретро автомат для игры в слоты на HTML, CSS, and JavaScript.

👉 @web_craft | #frontend
Использование метода Object.seal()

Что делает метод Object.seal() в JavaScript?

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

👉 @web_craft | #frontend
Точное сравнение значений в JavaScript

Метод Object.is() в JavaScript используется для точного сравнения двух значений. В отличие от строгого равенства (===), он корректно различает такие значения, как NaN и 0/-0, а также объекты, сравнивая их ссылки.

Представим форму регистрации пользователя, где при изменении данных нужно проверить, было ли фактически изменено состояние формы для предотвращения повторной отправки.
let initialFormState = { username: 'user123', email: 'user@example.com' };
let currentFormState = initialFormState;

function updateEmail(newEmail) {
currentFormState = { ...currentFormState, email: newEmail };
}

console.log(Object.is(initialFormState, currentFormState)); // false

В этом примере после изменения email, хотя остальные поля формы не изменились, Object.is() вернет false, так как изменилось состояние объекта (его ссылка). Это поможет эффективно отслеживать изменения состояния формы и предотвратить повторную отправку формы.

👉 @web_craft | #frontend
Промисы с нуля

Статья объясняет, как работают промисы в 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