JavaScript test
Відкрити в Telegram
Javascript и все что с ним связано Ссылка: @Portal_v_IT Сотрудничество: @oleginc
Показати більше9 634
Підписники
-724 години
-387 днів
-10830 днів
Архів дописів
9 634
бизнестрендс — легендарный агрегатор всего, что происходит в бизнесе и маркетинге прямо сейчас. Оперативные новости, вдумчивая аналитика и щепотка мемчиков.
Что задумал Альтман со своей OpenAI, когда грянет страшный кризис, расцветёт ли российская экономика, что на завтрак у Германа Грефа и какие приколы сейчас в почёте у СММщиков.
Изнанку трендов и бизнеса транслируют тут: @business_trends
9 634
Использование Proxy для валидации объектов
Proxy позволяет перехватывать и изменять операции над объектом, в данном случае используется для валидации значений.
🖥 JavaScript test // чат9 634
🧩Что будет на выходе?
let i = 0;
for (; i < 5; i++) {
setTimeout(() => console.log(i), 0);
}
Ответ: 5 5 5 5 5
JavaScript test | ChatGPT
9 634
⚡️ В сети начали массово сливать IT-курсы и книги известных онлайн школ
Вот отсортированная база с тонной материала (постепенно пополняется):
(363 видео, 87 книги) — Python
(117 видео, 53 книги) — ВАЙБКОД
(174 видео, 91 книги) — DevOps
(415 видео, 68 книги) — Frontend
(137 видео, 93 книги) — DS/ML
(143 видео, 33 книги) — ИБ/Хакинг
(352 видео, 89 книги) — С/С++/C#
(343 видео, 87 книги) — Java/QA
(176 видео, 32 книги) — Git/Linux
(167 видео, 53 книги) — PHP/1С
(227 видео, 83 книги) — SQL/БД
(114 видео, 77 книги) — Сисадмин
(107 видео, 43 книги) — BA/SA
(181 видео, 32 книги) — Go/Rust
(167 видео, 43 книги) — Kotlin/Swift
(112 видео, 24 книги) — Flutter
(113 видео, 82 книги) — GameDev
(183 видео, 37 книги) — Дизайн
(136 видео, 33 книги) — PM/HR
Скачивать ничего не нужно — все выложили в Telegram
9 634
Наблюдение за изменением размера любого элемента!
Есть нативный инструмент
ResizeObserver, который реагирует именно на изменение размеров конкретного элемента:
const ro = new ResizeObserver(entries => {
const rect = entries[0].contentRect;
console.log('width:', rect.width, 'height:', rect.height);
});
Достаточно наблюдать за элементом:
ro.observe(document.querySelector('#box'));
Теперь любое изменение его ширины или высоты - мгновенно вызывает callback.
Можно остановить наблюдение:
ro.disconnect();
ResizeObserver даёт контроль над размерами элементов и позволяет строить предсказуемые, адаптивные интерфейсы.
🖥 JavaScript test // чат9 634
❓Что будет на выходе?
const num = 8;
const obj = {
num: 10,
inner: {
num: 6,
getNum: function() {
return this.num;
}
}
};
console.log(obj.inner.getNum());
const getNum = obj.inner.getNum;
console.log(getNum());
Ответ: 6 undefined
JavaScript test | ChatGPT
9 634
🧩Что будет на выходе?
function factorial(n) {
return n <= 1 ? 1 : n * factorial(n - 1);
}
console.log(factorial(5));
Ответ: 120
JavaScript test | ChatGPT
9 634
АЙТИШНИКИ БЕСПЛАТНОЕ ОБУЧЕНИЕ
Проект «Terminal» стал крупнейшей библиотекой бесплатного образования. В одном канале собраны курсы, книги, полезные инструменты и практические тренажёры для всех разработчиков:
• Практические курсы и задания
• Книги и статьи известных авторов
• Полезные инструменты и ресурсы
• IT-новости и инсайды
Обучение по всем направлениям: SQL, Python, ML, Frontend, PHP, C++, Go, Git, Linux, QA, Java, Vibe-coding, InfoSec и др.
⌨️ подписаться
9 634
Убираем дубли, короткий способ получить уникальные значения!
Иногда нужно оставить в массиве только уникальные значения, обычно это превращается в пару строчек фильтрации и проверок.
В ES6 появился Set, вместе со spread-оператором он делает это в одну строку:
const unique = [...new Set([1, 1, 2, 3, 5, 5, 1])];
Set хранит только уникальные элементы, поэтому дубликаты автоматически отбрасываются:
console.log(unique); // [1, 2, 3, 5]
Этот приём работает для массивов примитивов: number, string, boolean, null, undefined.
🖥 JavaScript test // чат9 634
Использование сторонних библиотек
Использование сторонних библиотек позволяет расширить функциональность вашего кода.
JavaScript test | ChatGPT
9 634
⚡️ 5 000 ₽ — столько приносит одна сделка
В день доступно 3-5 готовых сделок. Их находит ИИ и проверяют аналитики. От тебя — только повторить под сопровождением трейдеров.
❗️Можно без опыта и анализа графика, нужен телефон, обучение и час времени. Мы живём в эпоху, когда искусственный интеллект делает большую часть работы за нас, НО НЕ ВСЮ! И чтобы понять, как это работает — заходи в канал к Дмитрию.
Все инструкции и доступ к ИИ-агенту внутри. Заходите, пока набор открыт 👉 https://telegram.me/+mNCup1xVf21iOTIy
9 634
JS Hero — отличный ресурс для изучения JavaScript
Тут JS изучается не по скучным статьям, а через живые практические задания. Особенно полезно, если хочешь довести базу до автоматизма: функции, циклы, условия, строки, массивы. Постепенные уровни усложняются, и к концу ты уже пишешь уверенный код без подсказок.
➡️ jshero.net
🖥 JavaScript test // чат
9 634
🔥Что будет на выходе?
const obj = {
value: 42,
getValue: function() {
return () => {
console.log(this.value);
};
}
};
const getValue = obj.getValue();
getValue();
Ответ: 42
JavaScript test | ChatGPT
9 634
Promise и цепочки промисов
Благодаря данному видео ты узнаешь, что такое объект Promise. Также ты изучишь состояния Promise: pending, fulfilled, rejected. Продемонстрировано перехватывание ошибки с catch.
➡️ Смотреть видео
🖥 JavaScript test // чат
9 634
4 способа форматировать дату в JavaScript!
Работая с интерфейсами, часто нужно красиво вывести дату — например, "2025-11-14" превратить в "14 ноября 2025" или "14 Nov 2025".
1. Через
toLocaleDateString() — локализованный формат:
const date = new Date('2025-11-14T00:00:00Z');
console.log(date.toLocaleDateString('ru-RU', {
day: 'numeric',
month: 'long',
year: 'numeric',
timeZone: 'Europe/Moscow'
}));
// "14 ноября 2025 г."
2. Через Intl.DateTimeFormat() — для повторного использования:
const date = new Date('2025-11-14T00:00:00Z');
const fmt = new Intl.DateTimeFormat('en-GB', {
day: '2-digit',
month: 'short',
year: 'numeric',
timeZone: 'UTC'
});
console.log(fmt.format(date));
// "14 Nov 2025"
3. Вручную — через методы Date:
const months = [
'января', 'февраля', 'марта', 'апреля', 'мая', 'июня',
'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'
];
const date = new Date('2025-11-14T00:00:00Z');
const formatted = `${date.getUTCDate()} ${months[date.getUTCMonth()]} ${date.getUTCFullYear()}`;
console.log(formatted);
// "14 ноября 2025"
4. Через библиотеки dayjs или date-fns
dayjs:
import dayjs from "dayjs";
import "dayjs/locale/ru";
dayjs.locale("ru");
console.log(dayjs("2025-11-14").format("D MMMM YYYY"));
// "14 ноября 2025"
date-fns:
import { format, parse } from "date-fns";
import { ru } from "date-fns/locale";
const date = parse("2025-11-14", "yyyy-MM-dd", new Date());
console.log(format(date, "d MMMM yyyy", { locale: ru }));
// "14 ноября 2025"
Эти способы покрывают почти все задачи — от простых форматирований до продвинутых UI с локализацией.
🖥 JavaScript test // чат9 634
Хотите узнать, когда элемент появляется в зоне видимости?
Используйте
IntersectionObserver, он срабатывает, когда элемент попадает в viewport:
const observer = new IntersectionObserver(([entry]) => {
if (entry.isIntersecting) console.log('👀 Элемент виден');
});
Достаточно подключить наблюдение:
observer.observe(document.querySelector('#target'));
Теперь при появлении блока на экране в консоль выведется сообщение.
Можно остановить наблюдение, когда элемент уже показан:
observer.unobserve(document.querySelector('#target'));
IntersectionObserver работает асинхронно и не блокирует основной поток.
🖥 JavaScript test // чат9 634
❓Что будет на выходе?
function Product(name, price) {
this.name = name;
this.price = price;
}
Product.prototype.discount = function(discount) {
this.price -= discount;
};
const product = new Product('Phone', 500);
product.discount(50);
console.log(product.price);
Ответ: 450
JavaScript test | ChatGPT
9 634
Локальное хранилище браузера с использованием объекта
localStorage
В примере мы используем объект localStorage, доступный в браузере, чтобы сохранить данные, такие как имя пользователя и адрес электронной почты. Мы используем метод setItem() для сохранения данных и метод getItem() для получения данных. Мы также демонстрируем, как можно удалить данные из локального хранилища с помощью метода removeItem().
🖥 JavaScript test // чат9 634
Проверяем, открыта ли страница по HTTPS!
Безопасное соединение — важное условие для работы многих Web API. Большинство таких API требуют
secure context — то есть HTTPS или http://localhost.
Проверить протокол можно так:
const isSecure = window.location.protocol === "https:";
console.log("Безопасное соединение:", isSecure);
Если нужно принудительно перенаправить пользователя на HTTPS:
if (window.location.protocol !== "https:") {
const { host, pathname, search, hash } = window.location;
window.location.replace(`https://${host}${pathname}${search}${hash}`);
}
Также можно быстро вывести текущий адрес страницы:
console.log("Текущий адрес:", window.location.href);
Такой пример полезен для практики работы с объектом location, управления навигацией и понимания поведения редиректов в браузере
🖥 JavaScript test // чат9 634
❗️Что будет на выходе:
const memoryLeak = () => {
const cache = new Map();
const weakCache = new WeakMap();
const objKey = { id: 123 };
const data = { name: 'User data', value: 42 };
cache.set(objKey, data);
weakCache.set(objKey, data);
// Simulate removing reference to key
const result = { map: cache.has(objKey), weakMap: weakCache.has(objKey) };
// objKey = null; // This would be an error, as const can't be reassigned
return result;
};
console.log(memoryLeak());
Ответ: { map: true, weakMap: true }
JavaScript test | #JavaScript & Max