Що таке замикання (closures) в javascript?

Що таке замикання (closures) в javascript?

Замикання (closures) в JavaScript - це механізм, який дозволяє функціям зберігати доступ до змінних зовнішнього контексту, в якому вони були оголошені. Замикання в JavaScript дозволяють створювати функції, які можуть зберігати стан та отримувати доступ до змінних зовнішнього контексту, навіть після того, як цей контекст був виконаний. Ось приклад використання замикань в JavaScript:

function createCounter() {
  var count = 0;

  return function() {
    count++;
    return count;
  };
}

var counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2

У цьому прикладі, ми визначаємо функцію createCounter, яка повертає функцію, яка зберігає стан лічильника count. … Читати далі

Що таке класи в es6 в javascript?

Що таке класи в es6 в javascript?

Класи в ES6 в JavaScript - це синтаксичний цукор для створення об'єктно-орієнтованих програм в JavaScript. Класи дозволяють вам створювати об'єкти з властивостями та методами, які можна успадковувати та розширювати. Ось приклад використання класів в ES6 в JavaScript:

class Person {
  constructor(name) {
    this.name = name;
  }

  sayHello() {
    console.log(`Hello, my name is ${this.name}`);
  }
}

var person = new Person('John Doe');
person.sayHello(); // Hello, my name is John Doe

У цьому прикладі, ми визначаємо клас Person з конструктором та методом sayHello, який виводить привітання з ім'ям об'єкта. Потім ми створюємо екземпляр класу … Читати далі

Що таке hoisting в javascript?

Що таке hoisting в javascript?

Hoisting в JavaScript - це механізм, який дозволяє вам використовувати змінні та функції до їх оголошення. Ось як працює hoisting для змінних та функцій в JavaScript:

  1. Hoisting для змінних - змінні, оголошені за допомогою ключових слів var та let, піднімаються (hoisted) до початку блоку, в якому вони були оголошені. Однак, змінні, оголошені за допомогою ключового слова let, не ініціалізуються до їх оголошення, що призводить до виникнення Temporal Dead Zone (TDZ).

  2. Hoisting для функцій - функції, оголошені за допомогою ключового слова function, піднімаються (hoisted) до початку блоку, в якому вони були оголошені. Це

Читати далі

Що таке мемоізація (memoization) в javascript?

Що таке мемоізація (memoization) в javascript?

Мемоізація (memoization) в JavaScript - це техніка оптимізації, яка полягає в збереженні результатів викликів функції для пізнішого використання. Мемоізація дозволяє уникнути повторних обчислень та покращити продуктивність програми. Ось приклад використання мемоізації в JavaScript:

function memoize(fn) {
  var cache = {};
  return function(...args) {
    var key = JSON.stringify(args);
    if (!cache[key]) {
      cache[key] = fn(...args);
    }
    return cache[key];
  };
}

var add = memoize(function(x, y) {
  return x + y;
});

console.log(add(1, 2)); // 3
console.log(add(1, 2)); // 3 (збережений результат)

У цьому прикладі, ми створюємо функцію memoize, яка зберігає результати викликів функції у кеші … Читати далі

Як в javascript декодувати або кодувати url?

Як в javascript декодувати або кодувати url?

Для декодування або кодування URL в JavaScript ви можете використовувати методи decodeURIComponent та encodeURIComponent. Ось приклад використання цих методів:

var url = 'https://www.example.com/?q=hello%20world';
var decodedUrl = decodeURIComponent(url);
var encodedUrl = encodeURIComponent(decodedUrl);

console.log(decodedUrl); // https://www.example.com/?q=hello world
console.log(encodedUrl); // https%3A%2F%2Fwww.example.com%2F%3Fq%3Dhello%20world

У цьому прикладі, ми декодуємо URL за допомогою методу decodeURIComponent, щоб отримати оригінальний URL, та кодуємо його за допомогою методу encodeURIComponent, щоб отримати закодований URL. Методи decodeURIComponent та encodeURIComponent допомагають вам працювати з URL в JavaScript.

localStorage в JS

localStorage в JavaScript - це механізм для зберігання даних на браузері користувача. localStorage … Читати далі

Що таке iife (immediately invoked function expression) в javascript?

Що таке iife (immediately invoked function expression) в javascript?

IIFE (Immediately Invoked Function Expression) в JavaScript - це функція, яка викликається безпосередньо після її оголошення. IIFE використовується для створення області видимості для змінних та функцій, щоб уникнути конфліктів імен та забезпечити безпеку програми. Ось приклад використання IIFE в JavaScript:

(function() {
  var x = 10;
  console.log(x); // 10
})();

У цьому прикладі, ми оголошуємо IIFE, яка містить змінну x та виводить її значення на консоль. IIFE дозволяє нам створювати область видимості для змінних та функцій, які не будуть доступні за межами IIFE. Це допомагає уникнути конфліктів імен та забезпечити безпеку … Читати далі

Що таке temporal dead zone в javascript?

Що таке temporal dead zone в javascript?

Temporal Dead Zone (TDZ) в JavaScript - це період часу між створенням змінної та її ініціалізацією, коли змінна не може бути використана через викидання ReferenceError. TDZ виникає при використанні ключових слів let та const для оголошення змінних, оскільки ці змінні не піднімаються (hoisted) до початку блоку, в якому вони були оголошені. Ось приклад використання TDZ в JavaScript:

console.log(x); // ReferenceError: Cannot access 'x' before initialization
let x = 10;

У цьому прикладі, ми намагаємося використати змінну x до її ініціалізації, що призводить до викидання помилки. TDZ в JavaScript допомагає уникнути непередбачуваної поведінки та … Читати далі

Як в javascript перевизначити змінну в блоку switch без помилки?

Як в javascript перевизначити змінну в блоку switch без помилки?

В JavaScript можна перевизначити змінну в блоку switch без помилки, використовуючи ключове слово let для оголошення змінної. Ось приклад використання ключового слова let для перевизначення змінної в блоку switch:

let x = 10;
switch (x) {
  case 10: {
    let y = 20;
    console.log(y); // 20
    break;
  }
  case 20: {
    let y = 30; // Помилка: змінна y вже була оголошена
    console.log(y);
    break;
  }
}

У цьому прикладі, ми використовуємо ключове слово let для оголошення змінної y в межах блоку switch. Це дозволяє нам перевизначити змінну yЧитати далі

Чому в якості ключового слова в javascript вибрано let?

Чому в якості ключового слова в javascript вибрано let?

Ключове слово let в JavaScript було введене в стандарті ECMAScript 6 (ES6) для оголошення змінних з областю видимості в межах блоку. Використання ключового слова let дозволяє уникнути деяких недоліків, пов'язаних з ключовим словом var, таких як підняття (hoisting) та конфлікти імен змінних. Ось деякі переваги використання ключового слова let в JavaScript:

  1. Область видимості в межах блоку: Змінні, оголошені за допомогою ключового слова let, мають область видимості в межах блоку, в якому вони були оголошені. Це дозволяє уникнути конфліктів імен змінних та забезпечити більш чітку та прозору структуру програми.

  2. Не

Читати далі

Різниця між “var”, “let” та “const” у JavaScript

Привіт, #SweaterSeason! Якщо ви натрапили на цю статтю, можливо, ви шукаєте відповідь на запитання, у чому різниця між var, let і const в JavaScript (JS). Не переживайте, я вам допоможу, розробник. let і const — це нові можливості ES6, які з'явилися в 2015 році. До цього часу єдиним способом оголошення змінних був var. Це одна з тем, про які я давно хотів написати блог, оскільки вона може бути одночасно заплутаною і цікавою!

pic

Джерело: @Snoopy (Twitter)

Невелика примітка: Це процес навчання для мене також, тому, будь ласка, терпіть, якщо я не буду до кінця зрозумілим, адже пишу це з … Читати далі