Blokkszintű változó deklarálása.
let x = 10;
Állandó értékű változó.
const PI = 3.14159;
Függvényszintű változó (régi szintaxis).
var legacy = "ok";
Érték típusának lekérdezése.
typeof 42; // "number"
Hagyományos függvény deklarálás.
function greet(name) {
return `Hello, ${name}!`;
}
Rövidített függvényszintaxis.
const add = (a, b) => a + b;
Paraméter alapértékkel.
function power(x, p = 2) { return x ** p; }
Több paraméter összegyűjtése tömbbe.
function sum(...nums) {
return nums.reduce((a,b) => a+b, 0);
}
Objektum/tömb elemek szétszedése.
const [a,b] = [1,2];
const {name, age} = {name:"Anna", age:25};
Interpoláció backtick szintaxissal.
const msg = `ID: ${id}, Status: ${ok ? "OK" : "ERR"}`;
Feltételes elágazás.
if (x > 0) console.log("Pozitív"); else console.log("Nem");
Többágú feltétel.
switch(role){
case "admin": doAdmin(); break;
case "user": doUser(); break;
default: help();
}
Számláló ciklus.
for (let i=0; i<3; i++) console.log(i);
Iterálható értékek bejárása.
for (const ch of "hi") console.log(ch);
Objektum kulcsok bejárása.
for (const k in obj) console.log(k, obj[k]);
Amíg a feltétel igaz.
while (n < 5) { n++; }
Legalább egyszer fut.
do { attempt++; } while (attempt < 3);
Alap tömb példa.
const arr = [1,2,3];
Elemenként átalakítás.
[1,2,3].map(x => x*2); // [2,4,6]
Szűrés feltétel alapján.
[1,2,3,4].filter(x => x%2===0); // [2,4]
Halmozás/aggregálás.
[1,2,3].reduce((a,b)=>a+b,0); // 6
Első illeszkedő elem.
[5,7,8].find(x => x>6); // 7
Tartalmaz-e értéket.
["a","b"].includes("b"); // true
Rész tömb kivágása.
[1,2,3,4].slice(1,3); // [2,3]
Helyben módosítás.
const a=[1,2,3]; a.splice(1,1,"x"); // [1,"x",3]
Objektum alap.
const person = { name: "Anna", age: 25 };
Osztály deklarálás.
class Animal {
constructor(name) { this.name = name; }
}
Öröklés és szülő hívás.
class Dog extends Animal {
constructor(n){ super(n); }
}
Aktuális kontextus.
const obj = {x:1, get(){return this.x;} };
Hibák kezelése.
try { throw new Error("Hiba!"); }
catch(e){ console.error(e.message); }
Mindig lefutó záró rész.
try { doWork(); } finally { cleanup(); }
Aszinkron műveletek kezelése.
new Promise((res)=>res(42))
.then(v=>console.log(v))
.catch(console.error);
Ígéret szinkron stílusban.
async function load(){
const res = await fetch("/data.json");
return res.json();
}
HTTP kérés és válasz feldolgozás.
fetch("https://api.example.com")
.then(r=>r.json())
.then(d=>console.log(d));
Késleltetés futtatás előtt.
setTimeout(()=>console.log("wait"), 1000);
Ismételt futtatás időközönként.
const id = setInterval(tick, 1000);
Időzítő leállítása.
clearInterval(id);
Első illeszkedő elem kiválasztása.
const el = document.querySelector(".card");
Több elem kiválasztása.
document.querySelectorAll(".card").forEach(console.log);
Új DOM elem létrehozása.
const div = document.createElement("div");
Elemek hozzáadása a DOM-hoz.
el.append(child); el.prepend(child2);
CSS osztályok kezelése.
el.classList.add("active");
el.classList.toggle("hidden");
data-* attribútumok kezelése.
el.dataset.tags = "js dom";
Inline stílus beállítása.
el.style.color = "magenta";
Eseménykezelő hozzáadása.
button.addEventListener("click", () => doSomething());
Esemény adatai és vezérlése.
form.addEventListener("submit", e => {
e.preventDefault();
});
Tartós kulcs-érték tárolás.
localStorage.setItem("theme", "dark");
localStorage.getItem("theme");
Ideiglenes tárolás a munkamenetben.
sessionStorage.setItem("token", "abc");
JSON átalakítás.
const obj = JSON.parse('{"a":1}');
const str = JSON.stringify(obj);
Dátum és idő kezelés.
const now = new Date(); now.getFullYear();
Matematikai függvények.
Math.round(1.6); Math.floor(1.6); Math.random();
Egyedi értékek gyűjteménye.
const s = new Set([1,1,2]); // {1,2}
Kulcs-érték párok megőrzött sorrendben.
const m = new Map([["a",1],["b",2]]);
Egyedi nem ütköző kulcs.
const KEY = Symbol("id");
Saját iterátor készítése.
const it = {
i:0,
next(){ return this.i<3 ? {value:this.i++, done:false} : {done:true}; }
};
Modulok használata.
// export.js
export const PI = 3.14;
// main.js
import { PI } from "./export.js";
Reguláris kifejezések.
/\d{3}-\d{2}/.test("123-45"); // true
Gyakori hívások ritkítása.
const debounce = (fn, wait) => {
let t; return (...a) => { clearTimeout(t); t = setTimeout(()=>fn(...a), wait); };
};
Hívások ütemezése fix intervallumra.
const throttle = (fn, wait) => {
let last=0; return (...a) => {
const now=Date.now(); if (now-last>=wait){ last=now; fn(...a); }
};
};
Böngésző információk.
navigator.userAgent;
Aktuális URL kezelése.
location.href; // lekérés
// location.assign("/new");
Előre/hátra navigáció.
history.back(); history.forward();
Másolás a vágólapra (engedéllyel).
navigator.clipboard.writeText("másolt szöveg");
Teljesítménymérés.
const t0 = performance.now();
// ... munka ...
const t1 = performance.now();