👁‍🗨 CODORUM — пишу на JavaScript
803 subscribers
146 photos
83 videos
229 links
🟣 Канал создан с целью совместного обучения программированию на языке JavaScript 🟨

✔️ Канал подойдёт для тех кто желает:
научиться программировать на языке JavaScript
расширить свой кругозор в знаниях функций на JS

🎥 Ютуб канал: youtube.com/@codorum
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
DOM (Document Object Model) в веб-разработке – это структура, представляющая веб-страницу в виде дерева объектов. Каждый элемент HTML, а также его свойства и связи представлены как объекты в этой модели 📑

DOM предоставляет возможность динамически манипулировать веб-страницей с помощью JavaScript 🟨

С помощью DOM можно изменять содержимое страницы, добавлять или удалять элементы, а также реагировать на события, такие как клики или наведения мыши 👁‍🗨

Взаимодействие с DOM является ключевой частью разработки веб-приложений и динамических интерфейсов, позволяющих создавать более интерактивные и усовершенствованные пользовательские взаимодействия 🖱

Код из видео:
import { useState } from 'react';

const Component = () => {
const [text, setText] = useState('Codorum JS');

const changeText = () => {
setText('Codorum JavaScript');
};

return (
<div>
<h1>{text}</h1>
<button onClick={changeText}>Изменить текст</button>
</div>
);
};

export default Component;
🔥6👍21
Как отличить метод от встроенной функции в JavaScript?

🔶 Встроенные функции – это глобальные функции, не принадлежащие ни одному объекту. Они доступны напрямую, без точки.

🔶 Методы – это функции, являющиеся свойствами объектов. Вызываются через синтаксис object.method().

// Примеры встроенных функций:
parseInt('42');
isNaN('abc');
decodeURI('%20');

// Примеры методов:
Math.random(); // метод объекта Math
'go'.toUpperCase(); // метод объекта String
[1,2].push(3); // метод объекта Array
🔥8👍3
Благодаря методу every можно проверить удовлетворяют ли все элементы массива заданному условию в JavaScript 🙌

На скрине пример проверки: все ли элементы массива в виде чисел больше 5

Если каждый элемент массива проходит проверку по заданному условию, то метод возвращает результат true, если хотя бы один из элементов не проходит условие, то результат - false🚦

Метод может быть полезным для автоматизации проверки больших массивов данных 👁‍🗨
🔥8👍1
В JavaScript существует своё разнообразие структур данных. Разберем структуру данных Set 🟨

Setструктура данных, позволяющая сохранять уникальные значения и обеспечивать быстрый поиск элементов. Используется для работы с множествами: удаление дубликатов, объединение, сечение и разница коллекций 🗂

👉 Основное предназначение - сохранять коллекцию уникальных значений. Но не единственное, есть и другие:
быстрый поиск элемента (set.has(value))
хранение данных в порядке добавления (порядок сохраняется, в отличие от объектов)
эффективное выполнение операций над множествами (сечение, объединение и т. д. Для этого используют Set + массивы)
🔥6👍2
switch – это оператор ключевое слово, использующийся для выполнения различных действий на основе разных условий 🕹

Он позволяет сравнивать значение переменной с разными вариантами и выполнять соответствующий код

На скрине пример использования оператора switch на простом примере цикла. Есть переменная со значением в виде строки. Переменная "fruit" сравнивается с вариантами в switch. Если не один вариант не подходит выполняется блок default 👁‍🗨
🔥63👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Какая работа среди этих 8 вам нравится больше? С точки зрения дизайна 🎨

Проголосуйте в следующем посте 👇
👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Cookie – это небольшой фрагмент данных, который хранит веб-сайт на компьютере пользователя 🍪

Cookie используются для сохранения информации о пользователе и его взаимодействии с сайтом 🗄

В видео мы рассмотрели пример создания cookie на странице компонента React ⚛️

В конце видео показал где хранятся cookie страницы в браузере 👁‍🗨

Код из видео:
class CookieExample extends React.Component {
componentDidMount() {
// Cookie
this.createCookie('username', 'codorum', 1);
// '1' - количество дней, на которое мы сохраняем cookie
}

createCookie(name, value, days) {
const expires = new Date(new Date().getTime() + days * 24 * 60 * 60 * 1000).toUTCString();
document.cookie = `${name}=${value}; expires=${expires}; path=/`;
}

render() {
return (
<div>
<h1>Cтраница</h1>
</div>
);
}
}

export default CookieExample;
🔥6👍21
Media is too big
VIEW IN TELEGRAM
Как сделать обводку с переливанием цвета на блоке при hover наведении с помощью CSS 🔮

👉 Основные моменты для создания обводки:
псевдоэлемент ::before для класса блока, который будет служить копией блока и переливаться цветом, находясь за основным блоком
анимация переливания цвета в @keyframes
наличие важных свойств в псевдоэлементе ::before - content, position и z-index.

CSS стили из видео:
.card {
display: grid;
place-items: center;
position: relative;
width: 100px;
height: 150px;
background-color: #141117;
border-radius: 8px;
cursor: pointer;
}

.card::before {
position: absolute;
content: '';
width: 99px;
height: 149px;
background-color: #8493f2;
border-radius: 8px;
z-index: -1;
transition: 0.3s;
animation: animate 1.5s linear infinite;
}

.card:hover::before {
width: 102px;
height: 152px;
border-radius: 9px;
}

@keyframes animate {
50% {
filter: hue-rotate(50deg)
}
}
🔥7👍3
Благодаря методу Array from можно не только преобразовывать разнообразные данные в массивы, но и генерировать диапазон чисел, к примеру 🟨

На скрине пример создания массива чисел длиной в 5 элементов (от 1 до 5) 5⃣

Метод может быть полезным при генерировании чисел в промежутке между двумя конкретными числами, допустим. То есть если у нас есть два числа и мы хотим заполнить промежуток между ними 🫶

При помощи гибкого метода Array from мы можем создавать эффективные функции, что делает метод довольно полезным инструментом 👁‍🗨

Код со скрина:
const numArray = Array.from({ length: 5 }, (_, index) => index + 1);

console.log(numArray);
// консоль выдаст результат: [1, 2, 3, 4, 5]
🔥6👍41
🌟 C НОВЫМ 2026 ГОДОМ! 🎄

🎉 Пусть 2026 порадует вас новыми успехами и открытиями во всех продолжениях и начинаниях! 🏆

Фокуса в повседневных задачах, высокой стрессоустойчивости и стремительного прогресса в изучении нового! 🦾
🍾3🎄21🎉1
С помощью метода Object.values можно легко конвертировать значения свойств объекта в элементы массива 🌀

У объекта есть, допустим, 3 свойства и с помощью метода мы как бы вытягиваем значения этих свойств и делаем их самостоятельными элементами, собирая в отдельный массив 👁‍🗨

Код со скрина:
// ✦ Объект с тремя свойствами
const user = { name: 'Ignat', age: 30, role: 'admin' };

// ✦ Массив с тремя элементами (в качестве элементов
// выступают значения свойств объекта user)
const array = Object.values(user);

console.log("array =", array);
👍4🔥3
Рассмотрим тип объекта JSON в JavaScript ⚜️

JSON – это легкий и понятный формат обмена данными, используемый для представления структурированных данных 🗂

👉 метод stringify используется для преобразования JavaScript-объекта в JSON-строку. Он принимает объект, опционально функцию преобразования (replacer) и параметр пробела (space) для форматирования строки

👉 метод parse используется для разбора (парсинга) JSON-строки и создания соответствующего JavaScript-объекта. Он принимает строку JSON и опционально функцию разбора (reviver)
👍4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
useMemo – это React хук, выполняющий мемоизацию (сохранение) результатов обработки значений функциями

Хук useMemo помнит результаты уже однажды выполненных вычислений и возвращает их при следующих вызовах 🧠

Это делает хук эффективным для оптимизации использования ресурсов при рендеринге компонентов 👁‍🗨

Код из видео:
import { useMemo, useState } from 'react';

const Component = () => {
const [count, setCount] = useState(0);
const [inputValue, setInputValue] = useState(0);

const square = useMemo(() => {
return count ** 2;
}, [count]);

const handleInputChange = (event) => {
setInputValue(event.target.value);
};

const handleCalculate = () => {
setCount(parseInt(inputValue));
};

return (
<div>
<p>Введите число:</p>
<input type="number" value={inputValue} onChange={handleInputChange}/>
<button onClick={handleCalculate}>Узнать квадрат числа</button>
<p>Квадрат числа {count} = {square}</p>
</div>
);
};

export default Component
🔥5👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Эффект вращающегося 3Д текста в HTML & CSS 🟦

// index.html
<div class="box">
<div>
<span style="transform:
rotateX(calc(1 * 120deg))">
</span>

<span style="transform:
rotateX(calc(2 * 120deg))">
</span>

<span style="transform:
rotateX(calc(3 * 120deg))">
</span>
</div>
</div>

/* index.css */
.box div {
transform-style: preserve-3d;
animation: rotation 10s linear infinite;
}

@keyframes rotation {
0% { transform: rotateX(0deg) }
100% { transform: rotateX(360deg) }
}

.box div span {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
}

.box div span::before {
font-weight: 900;
content: 'CODORUM JS';
height: 35px;
}
🔥6👍2
Тремя постами ранее мы рассматривали как получить значения свойств объекта благодаря методу Object.values, с помощью же метода Object.keys мы можем собрать ключи этих свойств в отдельный массив 🌀

Применяется метод Object.keys аналогично методу Object.values. Только вместо массива значений свойств объекта мы получаем массив с элементами состоящими из ключей свойств объекта 🔑

Следовательно, метод Object.keys не менее полезен и удобен, чем метод Object.values и тоже часто может пригодится 👁‍🗨

Код со скрина:
// ✦ Объект с тремя свойствами
const user = { name: 'Ignat', age: 30, role: 'admin' };

// ✦ Массив с тремя элементами (в качестве элементов
// выступают ключи свойств объекта user)
const array = Object.keys(user);

console.log("array =", array);
👍3🔥31
🔘 Какое значение вернёт оператор typeof null в JavaScript?

Вопрос лёгкой сложности ❇️
Anonymous Quiz
34%
"null"
24%
"undefined"
39%
"object"
3%
"number"
👍3🔥2
С помощью методов Push и Pop можно добавить или удалить элемент в конце массива на JavaScript 🟨

👉 метод Push добавляет элемент или элементы в конец массива
👉 метод Pop удаляет последний элемент массива

Применение методов стандартное: указывается название массива и метод через точку. В скобках к методу Push можно указать 1 или несколько элементов через запятую, а скобки к методу Pop оставляем пустые (в любом случае он удалит последний элемент массива, независимо от того что мы там укажем) 👁‍🗨
🔥5👍2
👉 Что такое потеря контекста, когда она происходит и как ее предотвратить?

Потеря контекста – это когда this больше не указывает на ожидаемый объект из-за способа вызова функции 💨

Часто случается при:
передачи методов объекта как callback
использовании setTimeout, setInterval
использовании обработчиков событий
деструктуризации методов

💡 Решается с помощью bind, arrow function или call/apply
🔥6👍42