JavaScript. Метод includes()
Метод
Для использования метода
В приведенном примере у нас есть массив
Метод
includes()
в JavaScript используется для проверки наличия определенного элемента в массиве или строке. Он возвращает булевое значение, указывающее, найден ли элемент.Для использования метода
includes()
, вызовите его на массиве или строке, над которыми хотите выполнить поиск. Передайте в качестве аргумента элемент, который вы ищете. Метод вернет true
, если элемент найден, и false
, если элемент отсутствует.В приведенном примере у нас есть массив
['яблоко', 'груша', 'апельсин', 'банан']
. Мы вызываем метод includes('груша')
, чтобы проверить, содержит ли массив элемент 'груша'
. Метод возвращает true
, так как 'груша'
присутствует в массиве. Затем мы вызываем метод includes('слива')
, чтобы проверить, содержит ли массив элемент 'слива'
. Метод возвращает false
, так как 'слива'
отсутствует в массиве. Результаты выводятся в консоль.👍2
🌸 Typed Japanese
Для гиков: энтузиасты придумали учить языки через TypeScript.
Проект Typed Grammar учит грамматике (например, английского или японского) с помощью типов и структур программирования. И никаких зелёных сов!
🔗 GitHub
Для гиков: энтузиасты придумали учить языки через TypeScript.
Проект Typed Grammar учит грамматике (например, английского или японского) с помощью типов и структур программирования. И никаких зелёных сов!
🔗 GitHub
🖌️ LUME — создание 2D/3D-интерфейсов на HTML. Этот набор веб-компонентов превращает обычные HTML-элементы в полноценные носители графики — от CSS3D-преобразований до WebGL-рендеринга.
Под капотом используется AssemblyScript для компиляции в WebAssembly, что обещает стабильную производительность. А в примерах есть даже заготовка для FPS-игры на движке.
🤖 GitHub
@javascriptv
Под капотом используется AssemblyScript для компиляции в WebAssembly, что обещает стабильную производительность. А в примерах есть даже заготовка для FPS-игры на движке.
🤖 GitHub
@javascriptv
🎯 HTML attributes vs DOM properties
Разница между атрибутами и свойствами в HTML/DOM может быть запутанной, особенно когда названия совпадают. Кратко:
* Атрибут — часть HTML.
* Свойство — часть DOM-объекта.
Пример:
Значение атрибута остаётся неизменным, даже если свойство обновляется в JS. DOM-свойства могут не синхронизироваться с атрибутами после инициализации.
🔹Свойства могут отличаться от атрибутов
Свойство
Это всё равно
🔹Когда использовать атрибуты, а когда свойства?
* Используйте атрибуты, когда:
* Вам нужно установить начальное значение в HTML.
* Вы работаете с HTML-строкой.
* Вы хотите сохранить значение при сериализации (например,
* Используйте свойства, когда:
* Вы работаете с DOM в JS.
* Нужно прочитать или изменить текущее состояние элемента.
🔹Иногда стоит быть осторожнее
Иногда установка атрибута также влияет на свойство, но не всегда — зависит от элемента и конкретного атрибута/свойства.
https://jakearchibald.com/2024/attributes-vs-properties/
Разница между атрибутами и свойствами в HTML/DOM может быть запутанной, особенно когда названия совпадают. Кратко:
* Атрибут — часть HTML.
* Свойство — часть DOM-объекта.
Пример:
<input value="Hello">
const input = document.querySelector('input');
console.log(input.getAttribute('value')); // "Hello"
console.log(input.value); // "Hello"
input.value = 'World';
console.log(input.getAttribute('value')); // "Hello"
Значение атрибута остаётся неизменным, даже если свойство обновляется в JS. DOM-свойства могут не синхронизироваться с атрибутами после инициализации.
🔹Свойства могут отличаться от атрибутов
<input disabled>
input.hasAttribute('disabled'); // true
input.disabled; // true
input.removeAttribute('disabled');
input.disabled; // false
Свойство
disabled
— булево. Атрибут disabled
работает как флаг: его наличие имеет значение, не важно, какое значение вы ему присвоили.
<input disabled="false">
Это всё равно
disabled
. Так работает HTML.🔹Когда использовать атрибуты, а когда свойства?
* Используйте атрибуты, когда:
* Вам нужно установить начальное значение в HTML.
* Вы работаете с HTML-строкой.
* Вы хотите сохранить значение при сериализации (например,
outerHTML
).* Используйте свойства, когда:
* Вы работаете с DOM в JS.
* Нужно прочитать или изменить текущее состояние элемента.
🔹Иногда стоит быть осторожнее
input.setAttribute('value', 'New');
console.log(input.value); // "New"
Иногда установка атрибута также влияет на свойство, но не всегда — зависит от элемента и конкретного атрибута/свойства.
https://jakearchibald.com/2024/attributes-vs-properties/
Заголовок: JavaScript Engineer (Browser Fingerprinting & Security R&D)
Формат: Удаленная работа, полный день
Зарплата: 80 000 - 180 000 руб. на руки (возможна оплата в USDT)
О проекте:
Мы ищем JS-разработчика, которому надоело "двигать кнопки" и хочется по-настоящему сложных задач. Наш проект — это система для anti-fraud, которая занимается низкоуровневым фингерпринтингом браузеров. Мы копаем глубоко: анализируем
Если вам интересно глубоко погружаться в сетевые протоколы, читать исходники
Чем предстоит заниматься:
• Разработка JS SDK: Написание модулей на чистом (vanilla) JavaScript для сбора уникальных отпечатков (
• Frontend (React/Next.js): Разработка личного кабинета для визуализации данных и управления сервисом.
• R&D (Исследования и разработка): Поиск и реализация новых техник детектирования
• Защита кода: Применение обфускации и других техник для защиты нашего SDK от реверс-инжиниринга.
• Реверс-инжиниринг, деобфускация для поиска новых методик.
Требования:
• Отличное знание нативного
• Опыт работы с
• Подтвержденный интерес к кибербезопасности: участие в CTF, pet-проекты (браузерные расширения, сетевые утилиты), статьи, профильное образование в области ИБ, хакинг. (Это самое важное!)
• Хорошее понимание сетевого стека (
• Желание и способность самостоятельно разбираться в том, как работают браузеры "под капотом".
Желательно:
• Опыт работы с
• Умение читать
• Опыт анализа трафика в
• Опыт работы с
Мы предлагаем:
Работу над уникальными задачами, которые вы не найдете в 99% компаний. Сильную команду, свободу в принятии технических решений и возможность стать экспертом в узкой, но очень востребованной нише.
Как откликнуться:
Вместе с резюме, пожалуйста, пришлите сопроводительное письмо, в котором кратко расскажите о вашем бэкграунде в кибербезопасности. Нас интересует все:
• Ссылки на ваши pet-проекты (GitHub и др.).
• Ваш никнейм и достижения на CTF-платформах.
• Ссылки на ваши статьи, доклады или заметки.
• Любой другой релевантный опыт, который показывает ваш интерес к этой сфере.
Отклики без этого пункта рассматриваться не будут. Мы ищем человека, который действительно "горит" этой темой.
Контакт: https://t.me/Siemons8
Формат: Удаленная работа, полный день
Зарплата: 80 000 - 180 000 руб. на руки (возможна оплата в USDT)
О проекте:
Мы ищем JS-разработчика, которому надоело "двигать кнопки" и хочется по-настоящему сложных задач. Наш проект — это система для anti-fraud, которая занимается низкоуровневым фингерпринтингом браузеров. Мы копаем глубоко: анализируем
QUIC-хендшейки
, вычисляем RTT
, изучаем особенности WebRTC
и DNS
для выявления прокси.Если вам интересно глубоко погружаться в сетевые протоколы, читать исходники
Chromium
и искать нетривиальные способы обойти защиту — эта вакансия для вас.Чем предстоит заниматься:
• Разработка JS SDK: Написание модулей на чистом (vanilla) JavaScript для сбора уникальных отпечатков (
WebRTC
, Canvas/WebGL
, DNS
, QUIC
).• Frontend (React/Next.js): Разработка личного кабинета для визуализации данных и управления сервисом.
• R&D (Исследования и разработка): Поиск и реализация новых техник детектирования
VPN/Proxy
. Это значительная часть работы, требующая самостоятельности и умения вести задачу от гипотезы до готового решения.• Защита кода: Применение обфускации и других техник для защиты нашего SDK от реверс-инжиниринга.
• Реверс-инжиниринг, деобфускация для поиска новых методик.
Требования:
• Отличное знание нативного
JavaScript
и понимание асинхронности.• Опыт работы с
React
.• Подтвержденный интерес к кибербезопасности: участие в CTF, pet-проекты (браузерные расширения, сетевые утилиты), статьи, профильное образование в области ИБ, хакинг. (Это самое важное!)
• Хорошее понимание сетевого стека (
TCP/IP
, UDP
, DNS
, QUIC
).• Желание и способность самостоятельно разбираться в том, как работают браузеры "под капотом".
Желательно:
• Опыт работы с
WebRTC
, WebSocket
.• Умение читать
C++
(для анализа кода браузерных движков).• Опыт анализа трафика в
Wireshark
.• Опыт работы с
Next.js
.Мы предлагаем:
Работу над уникальными задачами, которые вы не найдете в 99% компаний. Сильную команду, свободу в принятии технических решений и возможность стать экспертом в узкой, но очень востребованной нише.
Как откликнуться:
Вместе с резюме, пожалуйста, пришлите сопроводительное письмо, в котором кратко расскажите о вашем бэкграунде в кибербезопасности. Нас интересует все:
• Ссылки на ваши pet-проекты (GitHub и др.).
• Ваш никнейм и достижения на CTF-платформах.
• Ссылки на ваши статьи, доклады или заметки.
• Любой другой релевантный опыт, который показывает ваш интерес к этой сфере.
Отклики без этого пункта рассматриваться не будут. Мы ищем человека, который действительно "горит" этой темой.
Контакт: https://t.me/Siemons8
🔥2👍1
JavaScript. Что произойдет при выполнении этого кода?
Anonymous Quiz
3%
В консоль будет выведена строка "е"
3%
В консоль будет выведена строка "т"
6%
В консоль будет выведена строка "Привет"
31%
В консоль будет выведено число 5
48%
Произойдет ошибка
8%
Посмотреть ответы
This media is not supported in your browser
VIEW IN TELEGRAM
Совет по CSS 💡
Используйте табличные цифры для отображения таймеров ✅
https://www.codewithshripal.com/playground/css/use-tabular-number-for-timers
@javascriptv
Используйте табличные цифры для отображения таймеров ✅
https://www.codewithshripal.com/playground/css/use-tabular-number-for-timers
@javascriptv
👍2