Всички инструменти
Безплатно

Справочник за модерния JavaScript с възможност за търсене и печат — синтаксис, масиви, низове, обекти, async/await, DOM и функции на ES2022+. Безплатно.

Променливи и типове

10
let x = 1;
Блоково-обхватна, преприсвоима променлива
const PI = 3.14;
Блоково-обхватна константа
typeof value
Връща типа като низ
Number('42')
Преобразуване на низ в число
String(42)
Преобразуване на стойност в низ
parseInt('42px', 10)
Парсване на водещо цяло число (база 10)
Boolean(0)
Привеждане на стойност към true/false
value ?? 'default'
Nullish coalescing (само null/undefined)
a?.b?.c
Optional chaining, прекъсва при null
Array.isArray(x)
Проверка дали стойност е масив

Функции

9
function add(a, b) { return a + b; }
Декларация на именувана функция
const add = (a, b) => a + b;
Arrow функция с неявен return
const f = (a = 1) => a;
Стойност на параметър по подразбиране
function f(...args) {}
Rest параметрите се събират в масив
f(...arr)
Разгъване на масив в аргументи
const { a, b } = obj;
Деструктуриране на обект
const [x, y] = arr;
Деструктуриране на масив
(function(){})()
Незабавно извикана функция (IIFE)
fn.bind(this)
Свързване на фиксиран this контекст

Низове

10
`Hello ${name}`
Интерполация в template literal
str.length
Брой символи
str.includes('a')
Проверка дали подниз съществува
str.slice(0, 3)
Извличане на част от низ
str.replace(/a/g, 'b')
Замяна на съвпадения (regex)
str.split(',')
Разделяне в масив
str.trim()
Премахване на околните интервали
str.toUpperCase()
Преобразуване в главни букви
str.padStart(3, '0')
Допълване в началото до дължина
str.at(-1)
Символ по индекс (поддържа отрицателни)

Масиви

11
arr.map(x => x * 2)
Трансформиране на всеки елемент
arr.filter(x => x > 0)
Запазване на съвпадащите елементи
arr.reduce((a, b) => a + b, 0)
Свеждане до една стойност
arr.find(x => x.id === 1)
Първи съвпадащ елемент
arr.some(x => x > 0)
True, ако някой елемент съвпада
arr.every(x => x > 0)
True, ако всички елементи съвпадат
arr.includes(3)
Проверка за стойност
arr.sort((a, b) => a - b)
Числово възходящо сортиране
[...new Set(arr)]
Премахване на дублирани стойности
arr.flat(Infinity)
Пълно изравняване на вложени масиви
arr.at(-1)
Последен елемент (отрицателен индекс)

Обекти

9
Object.keys(obj)
Масив от собствените изброими ключове
Object.values(obj)
Масив от собствените стойности
Object.entries(obj)
Масив от двойки [key, value]
{ ...a, ...b }
Сливане на обекти (spread)
Object.assign({}, a, b)
Копиране/сливане в цел
Object.freeze(obj)
Превръщане на обект в неизменим
{ [key]: value }
Изчислимо име на свойство
obj.hasOwnProperty('x')
Проверка за собствено свойство
structuredClone(obj)
Дълбоко клониране на обект

Async и promises

9
async function f() {}
Деклариране на async функция
await fetch(url)
Пауза докато promise се изпълни
Promise.all([p1, p2])
Изчакване всички да се изпълнят
Promise.allSettled([p1, p2])
Изчакване всички да приключат
Promise.race([p1, p2])
Изпълнение с първия приключил
new Promise((res, rej) => {})
Ръчно създаване на promise
try { await f(); } catch (e) {}
Обработка на async грешки
setTimeout(fn, 1000)
Изпълнение след забавяне (ms)
queueMicrotask(fn)
Планиране на микрозадача

Управление на потока

9
if (a) {} else if (b) {} else {}
Условни разклонения
a ? b : c
Тернарен израз
switch (x) { case 1: break; }
Многопосочно разклонение
for (const x of arr) {}
Обхождане на стойности (iterables)
for (const k in obj) {}
Обхождане на ключовете на обект
while (cond) {}
Цикъл докато условие е вярно
arr.forEach((x, i) => {})
Извикване на callback за всеки елемент
break / continue
Изход или пропускане на итерация
label: for (...) { break label; }
Изход от вложени цикли

DOM и събития

10
document.querySelector('.x')
Първи съвпадащ елемент
document.querySelectorAll('.x')
Всички съвпадащи елементи (NodeList)
el.addEventListener('click', fn)
Закачане на event listener
el.classList.toggle('active')
Превключване на CSS клас
el.dataset.id
Четене на data-id атрибут
el.textContent = 'hi'
Безопасно задаване на текст (без HTML)
el.setAttribute('aria-hidden', true)
Задаване на атрибут
e.preventDefault()
Отмяна на действието по подразбиране
el.closest('.parent')
Най-близък съвпадащ родител
document.createElement('div')
Създаване на нов елемент

Класове и модули

9
class A extends B {}
Клас с наследяване
constructor() { super(); }
Инициализиране и извикване на родителя
#private = 1;
Частно поле на клас
static create() {}
Статичен метод на класа
get value() {}
Getter аксесор
export default fn;
Експорт по подразбиране на модул
export { a, b };
Именувани експорти на модул
import x, { y } from './m.js'
Импорт по подразбиране + именувани
const m = await import('./m.js')
Динамичен импорт

Няма запис, който да съответства на „:q“.


Сподели
Нуждаете се от помощ?
Открихте проблем с този инструмент? Кажете ни.
Докладване на проблем

Добавете този безплатен инструмент към собствения си уебсайт — копирайте и поставете кода по-долу.