Junior
Z jakimi nowościami w ES6 jesteś zaznajomiony?
sobes.tech AI
Odpowiedź od AI
- let, const, var: let i const dla zakresu blokowego, var dla zakresu funkcji. const dla stałych, let dla zmiennych, które mogą być nadpisywane.
- Funkcje strzałkowe (Arrow Functions): Skrócona składnia do deklarowania funkcji.
thisleksykalne. - Literały szablonowe (Template Literals): Pozwalają na wstawianie wyrażeń i wielolinijkowe ciągi znaków.
const name = "World"; const greeting = `Hello, ${name}!`; // "Hello, World!" - Przypisanie destrukturyzujące (Destructuring Assignment): Wygodny sposób wyodrębniania wartości z tablic i obiektów.
const person = { firstName: "John", lastName: "Doe" }; const { firstName, lastName } = person; // firstName = "John", lastName = "Doe" - Operator spread (...) i parametry rest (...): Spread do rozszerzania i łączenia tablic/obiektów. Rest do zbierania pozostałych argumentów funkcji w tablicę.
const arr1 = [1, 2]; const arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4] function sum(...numbers) { return numbers.reduce((acc, current) => acc + current, 0); } sum(1, 2, 3); // 6 - Klasy (Classes): Słodzik składniowy nad dziedziczeniem prototypowym.
class Car { constructor(brand) { this.brand = brand; } drive() { console.log(`${this.brand} jedzie.`); } } - Moduły (Modules): Narzędzie do organizacji kodu za pomocą
importiexport.// module.js export const PI = 3.14; // main.js import { PI } from './module.js'; - Obietnice (Promises): Ułatwiają pracę z kodem asynchronicznym.
new Promise((resolve, reject) => { // Operacja asynchroniczna if (success) { resolve("Sukces!"); } else { reject("Błąd!"); } }) .then(result => console.log(result)) .catch(error => console.error(error)); - Pętla for...of: Iteracja po obiektach iterowalnych.
const arr = [1, 2, 3]; for (const value of arr) { console.log(value); // 1, 2, 3 } - Set i Map: Nowe struktury danych. Set dla unikalnych wartości, Map dla par klucz-wartość.