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

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

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Объект для сортировки строк с учетом правил локализации

Какой объект используется в JavaScript для сортировки строк с учетом правил локализации?

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

👉 @web_craft | #frontend
Как контролировать создание экземпляров в наследуемых классах

В JavaScript символ Symbol.species позволяет контролировать, какой конструктор должен использоваться при создании экземпляров в наследуемых классах. Это полезно, когда вы хотите изменить поведение методов, которые возвращают новые объекты на основе экземпляра класса.

Рассмотрим пример с классом MyArray, который наследует от встроенного массива Array. По умолчанию, методы такие как map(), возвращают новый экземпляр того же класса. Однако с помощью Symbol.species, можно указать, какой конструктор должен использоваться.
class MyArray extends Array {
static get [Symbol.species]() {
return Array;
}
}

const myArr = new MyArray(1, 2, 3);
const mappedArr = myArr.map(x => x * 2);

console.log(mappedArr instanceof MyArray); // false
console.log(mappedArr instanceof Array); // true

Метод map() возвращает обычный массив Array, а не MyArray, благодаря использованию Symbol.species.

👉 @web_craft | #frontend
Разгадка гипотезы Коллатца: изучение создания последовательностей с помощью JavaScript

Статья объясняет математическую гипотезу Коллатца и показывает, как реализовать её в JavaScript. Гипотеза утверждает, что при определённых арифметических операциях любая последовательность чисел в конечном итоге сведётся к 1. Автор демонстрирует два алгоритма для генерации таких последовательностей, включая оптимизацию с использованием мемоизации для повышения эффективности.

👉 @web_craft | #frontend
Функция для форматирования списков

Какая функция используется для форматирования списков в JavaScript с учетом локалей?

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

👉 @web_craft | #frontend
Защита объекта от изменений

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

Метод Object.freeze() используется для замораживания объекта, что делает его свойства неизменяемыми. После замораживания объекта невозможно добавлять новые свойства, изменять существующие или удалять их.

Пример:
const obj = {
prop1: 42,
prop2: 'замороженный объект'
};

Object.freeze(obj);

// Попытка изменения свойства
obj.prop1 = 100; // Не сработает, obj.prop1 останется равным 42

// Попытка добавления нового свойства
obj.prop3 = true; // Не сработает, так как объект замороженный

// Попытка удаления свойства
delete obj.prop2; // Не сработает, prop2 останется в объекте

console.log(obj); // { prop1: 42, prop2: 'замороженный объект' }

👉 @web_craft | #frontend
Сортировочные алгоритмы на JavaScript

Статья описывает различные алгоритмы сортировки, которые можно реализовать на JavaScript. Она рассматривает примеры кода для каждого алгоритма, а также их характеристики, включая временную сложность и производительность. Цель статьи — помочь лучше понять, как работают эти алгоритмы и как их можно использовать в реальных приложениях на JavaScript.

👉 @web_craft | #frontend
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