LibCode»Блог

LibCode — это библиотека кода и знаний для разработчиков, где каждый найдет полезные ресурсы, уроки и инструменты для создания и совершенствования своих проектов.

MySQL | PHP | Python | C++ | JavaScript

Создано при поддержке GigaChat.

JavaScript: Set и Map

ES6 (EcmaScript 2015) принес в JavaScript две новые коллекции: Set и Map. Они значительно упрощают работу с данными и предлагают удобное решение для множества задач.

Что такое Set и Map?


  • Set — это коллекция уникальных значений. В Set каждый элемент уникален, что позволяет легко удалять дубликаты и проверять наличие элементов.
  • Map — это коллекция пар "ключ-значение", где ключи могут быть любого типа (в отличие от объектов, где ключи — только строки или символы).

Примеры использования Set и Map



Использование Set
const set = new Set([1, 2, 3, 4, 4, 5]);
console.log(set); // Set { 1, 2, 3, 4, 5 }

set.delete(3);
console.log(set); // Set { 1, 2, 4, 5 }

set.forEach(value => console.log(value));

Использование Map
const map = new Map();
map.set("name", "John");
map.set("age", 30);

console.log(map.get("name")); // John
console.log(map.size); // 2

map.forEach((value, key) => console.log(key, value));

Set и Map — это мощные инструменты для работы с данными в JavaScript. Используйте их,...

JavaScript: Новый синтаксис классов

С появлением ES6 (EcmaScript 2015) в JavaScript появился новый синтаксис для работы с классами. Этот синтаксис позволяет создавать классы и наследоваться от них, что делает код более понятным и удобным для разработчиков.

Что такое классы в JavaScript?


Классы в JavaScript представляют собой упрощенный синтаксис для создания объектов и работы с наследованием. Класс — это шаблон для создания объектов, определяющий их структуру и поведение.

Ключевые концепции классов:
  • Constructor: конструктор класса, вызываемый при создании объекта.
  • Methods: методы класса, доступные всем объектам, созданным из этого класса.
  • Inheritance: наследование, позволяющее расширять функциональность классов.

Примеры использования классов



Простой класс
class Person {
    constructor(name) {
        this.name = name;
    }

    greet() {
        console.log(`Hello, I'm ${this.name}`);
    }
}

const person = new Person("John");
person.greet(); // Hello, I'm John

Наследование
class Employee extends Person {
   
...

JavaScript: Promises и async/await

Асинхронное программирование — это одна из важнейших концепций в JavaScript, позволяющая выполнять задачи без блокировки основного потока исполнения. В ES6 (EcmaScript 2015) появились промисы (promises), а в ES8 (EcmaScript 2017) добавилась возможность использования async/await, что значительно упростило работу с асинхронным кодом.

Что такое Promises?


Промисы — это объекты, представляющие результат будущей операции. Они могут находиться в трех состояниях:
  • Pending: ожидание результата.
  • Resolved: операция выполнена успешно.
  • Rejected: операция завершилась неудачей.

Пример использования Promises:
const waitForIt = ms => new Promise(resolve => setTimeout(resolve, ms));

waitForIt(2000)
  .then(() => console.log("Готово!"))
  .catch(error => console.error(error));

Что такое async/await?


Async/await — это синтаксический сахар для работы с промисами, позволяющий писать асинхронный код в виде последовательного, синхронного кода.

Пример использования async/await:
async function getData() {
   
...

JavaScript: Модули

Модули в JavaScript — это мощная возможность, появившаяся в ES6 (EcmaScript 2015), которая позволяет разделять код на отдельные файлы и организовывать его в виде независимых компонентов. Это значительно упрощает разработку больших приложений и улучшает структуру кода.

Что такое модули в JavaScript?


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

Ключевые концепции модулей:
  • Export: экспортирование функций, классов и переменных из модуля.
  • Import: импортирование экспортированных данных из других модулей.
  • Namespace: изоляция кода внутри модуля, предотвращающая конфликты имен.

Примеры использования модулей



1. Export и Import
// math.js
export function add(a, b) {
    return a + b;
}

// main.js
import { add } from "./math.js";
console.log(add(1, 2)); // 3

2...

JavaScript: Операторы rest и spread

Операторы rest (...) и spread (...) были введены в ES6 (EcmaScript 2015) и добавили в JavaScript удобные механизмы для работы с массивами и объектами. Они позволяют собирать и распаковывать элементы массивов и объекты, что значительно упрощает работу с данными.

Что такое операторы rest и spread?



1. Spread Operator (...)
Spread оператор позволяет "распаковать" элементы массива или объекта в другом месте. Обычно используется для копирования массивов, объединения массивов и объектов, а также для передачи аргументов в функции.

2. Rest Parameter (...)
Rest parameter позволяет собрать оставшиеся аргументы функции в массив. Это удобно, когда неизвестно точное количество аргументов, которые передаются в функцию.

Примеры использования операторов rest и spread



1. Распространение массива (Spread Operator)
const nums = [1, 2, 3];
const moreNums = [...nums, 4, 5]; // [1, 2, 3, 4, 5]

// Копирование массива
const copyOfNums = [...nums];

// Передача аргументов в функцию
const maxValue =
...