StudyCode
console.log и что ещё — полный справочник: console, JSON, Object, Array, зарезервированные слова.
Это слова которые JavaScript использует сам — их нельзя называть переменными или функциями:
let if = 5; // ❌ SyntaxError — if зарезервировано
let class = "A"; // ❌ SyntaxError
let for = 10; // ❌ SyntaxError
let iffy = 5; // ✓ — похожее но другое имяvar x = 1; // устаревшее, функциональная область
let y = 2; // блочная область, можно переприсвоить
const z = 3; // блочная область, нельзя переприсвоить
function f() {} // объявление функции (hoisting!)
class User {} // объявление классаif (x > 0) { } else { }
switch (x) { case 1: break; default: }
for (let i = 0; i < 10; i++) { }
for (const item of array) { } // for...of — значения
for (const key in object) { } // for...in — ключи
while (condition) { }
do { } while (condition);
break; // выйти из цикла/switch
continue; // следующая итерация
return value; // вернуть из функцииtypeof value // "string" | "number" | "boolean" | ...
value instanceof Class // true/false — проверка принадлежности
new ClassName() // создать экземпляр
delete obj.prop // удалить свойство (возвращает true/false)
void expression // вычислить и вернуть undefined
"prop" in obj // есть ли свойство в объекте
// Примеры:
typeof "hello" // "string"
[] instanceof Array // true
delete user.tempField // true
void setTimeout(f, 0) // undefined
"name" in { name: "Иван" } // trueclass Animal {
constructor(name) {
this.name = name; // this — текущий объект
}
}
class Dog extends Animal { // extends — наследование
bark() {
super.constructor(); // super — родительский класс
}
}
// Модули (ES2015+)
import { useState } from "react"; // import/from
import React from "react";
export const PI = 3.14; // export
export default function App() {} // export defaultasync function loadData() { // async — асинхронная функция
try {
const data = await fetch("/api"); // await — ждать Promise
return data.json();
} catch (error) { // catch — поймать ошибку
console.error(error);
} finally { // finally — выполнится всегда
setLoading(false);
}
}
function* generator() {
yield 1; // yield — вернуть значение из генератора
yield 2;
}
throw new Error("Что-то пошло не так"); // throw — бросить ошибкуЧто произойдёт если попытаться использовать зарезервированное слово как имя переменной? ```js let return = 5; ```
Что вернёт `'name' in { name: 'Иван', age: 25 }`?
Объявления
Управление потоком
Операторы
Классы и модули
Асинхронность
Исключения