JavaScript заметки
8.56K subscribers
2.75K photos
4 videos
1.27K links
Регулярные заметки по практическому JavaScript. Обучащию посты позволят прокачать навыки во Frontend-разработке.

Можно почитать пока компилируется проект :)

Сотрудничество: @noname_media

Канал на бирже: telega.in/channels/notesjs/card?r=Wj7h1mbl
Download Telegram
Internationalization API

Internationalization API — интерфейс, предоставляемый браузером. Он позволяет выполнять интернационализацию и локализацию веб-приложений. Данная статья поможет разобраться с Internationalization API.

#статья

❤️ Прожимай реакции, если нравится такой формат

👉 Читать статью
👍5
Взять последние элементы из массива

Обратите внимание: метод slice доступен для массива так же, как и для строки.

const numbers = [10, 20, 30, 40, 50];
const last = numbers.slice(-1);
console.log(last); // [50]
const secondLast = numbers.slice(-2);
console.log(secondLast); // [40, 50]

#методы
👍9
CORS

Совместное использование ресурсов различными источниками (CORS) — это механизм безопасности на основе HTTP, который контролируется и применяется клиентом (веб-браузером). Это позволяет службе (API) указывать любой источник, кроме своего собственного, из которого клиент может запрашивать ресурсы. Делимся статьей, где автор знакомит с CORS.

#статья

❤️ Прожимай реакции, если нравится такой формат

👉 Читать статью
👍7
Три способа проверить, является ли объект массивом

В JS массив также является объектом, так что для такой проверки вы можете использовать три способа (это часто задают на собеседованиях):

const arr = [1, 2, 3, 4];

arr.constructor.toString().indexOf("Array") > -1
arr instanceof Array
Array.isArray(arr)

#полезно
👍17
RegEx на практике

Регулярное выражение — это последовательность символов, формирующая шаблон поиска. Шаблон поиска можно использовать для текстового поиска и операций замены текста. В данной статье продемонстрирована работа regex с валидацией.

#статья

❤️ Прожимай реакции, если нравится такой формат

👉 Читать статью
👍31
Получить временную метку (timestamp)

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

const date = new Date();
console.log(date.getTime()); // 1621708197268

#функции
👍4
Создание пианино

В данной статьей автор демонстрирует создание пианино с помощью JavaScript. Обрати внимание, проект лучше всего работает в Chrome и других браузерах с тем же движком. Могут быть проблемы при работе с Safari.

#статья

❤️ Прожимай реакции, если нравится такой формат

👉 Читать статью
Деструктуризация объектов

const user = {
name: 'David',
age: 30
};

// деструктуризовать пропсы и использовать status со значением Married, если этого свойства нет
const {name, age, status = 'Married' } = user;
console.log(name, age, status) // David 30 Married

const person = {
age: 30
};

// деструктуризуем объект person, переименуем name в username, назначим по умолчанию значение Anonymous, если такого свойства в person нет
const {name: username = 'Anonymous', age } = person;

console.log(username, age); // Anonymous 30

#полезно
👍6
Ошибки с промисами

В данной статье продемонстрированы самые распространенные ошибки при работе с промисами. К ним относятся: использование блока try/catch внутри промиса; неправильное использование Promise.race(); злоупотребление промисами.

#статья

❤️ Прожимай реакции, если нравится такой формат

👉 Читать статью
👍4
Деструктуризация массивов

const days = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"];
const [firstDay, secondDay] = days;
console.log(firstDay); // sunday
console.log(secondDay); // monday

#массивы
👍3🔥1
Docker

Docker — это открытая платформа для разработки и запуска приложений. Docker позволяет отделить твои приложения от инфраструктуры, чтобы ты мог быстро развертывать программное обеспечение. Данная статья познакомит тебя с Docker.

#статья

❤️ Прожимай реакции, если нравится такой формат

👉 Читать статью
👍53
Использование шаблонных литералов

const user = {
name: 'David',
age: 30,
address: 'NY'
};

const { name, age, address } = user;
console.log(Hi, I'm ${name} with age ${age} and living in ${address});

#полезно
👍82🔥2
Создание кроссбраузерного расширения

Делимся статьей, где автор рассказывает про создание кроссбраузерного расширения. Ты узнаешь про различные проблемы кроссбраузерности; из чего состоит расширение. Также ты познакомишься с фреймворком Plasmo.

#статья

❤️ Прожимай реакции, если нравится такой формат

👉 Читать статью
4
Передача числовых переменных в качестве аргументов в функцию

Оператор rest (версия ES6) конвертирует разделённые запятой значения в массив, таким образом параметр numbers в функции add становится массивом.

function add(...numbers) {
return numbers.reduce((acc, value) => {
return acc + value;
}, 0);
}
const sum = add(1, 2, 3, 4, 5);
console.log(sum); // 15

#функции
👍72
XSS с мутациями

Мутационные XSS-уязвимости вызваны различиями в том, как браузеры интерпретируют стандарт HTML. Сервер должен учитывать все различия не только между браузерами, но и их версиями. В данной статье автор демонстрирует свежие примеры, которые позволили обойти защиту популярных HTML-санитайзеров.

#статья

❤️ Прожимай реакции, если нравится такой формат

👉 Читать статью
Создать новый массив с помощью spread-оператора (троеточие)

const first = ["two", "three", "four"];
const second = [ "six", "seven", "eight"];
const combined = ["one", ...first, "five", ...second]
console.log(combined); // ["one", "two", "three", "four", "five", "six", "seven", "eight"]

#полезно
👍13
Supabase

Supabase — это альтернатива Firebase с открытым исходным кодом, предоставляющая все базовые функции, необходимые для создания продукта. Делимся статьей, где автор знакомит с Supabase.

#статья

❤️ Прожимай реакции, если нравится такой формат

👉 Читать статью
👍4
Заполнить массив определённым значением

const array = Array(5).fill(false); // [false, false, false, false, false]
const array = [...Array(5).keys()] // [0, 1, 2, 3, 4, 5]

#массивы
👍9
Видео в вебе

Политика автовоспроизведения Chrome блокирует автовоспроизведение мультимедиа со звуком. Это означает, что с включенной этой политикой видео всегда будут автоматически воспроизводиться без звука в Google Chrome. На текущий момент эта политика поддерживается многими бразуерами. Делимся статьей, где автор рассказывает про эту политику.

#статья

❤️ Прожимай реакции, если нравится такой формат

👉 Читать статью
👍1
Удалить из массива повторяющиеся элементы

С помощью Set:

const array = [1, 2, 2, 3, 1, 5];
const unique = [...new Set(array)];
console.log(unique); // [1, 2, 3, 5];

С помощью метода массива filter:

const array = [1, 2, 2, 3, 1, 5];
const unique = array.filter((value, index) => {
return array.indexOf(value) === index;
});
console.log(unique); // [1, 2, 3, 5]

#массивы #методы
2