clearInterval
.
let counter = 0;
const intervalId = setInterval(() => {
counter++;
console.log(`Counter: ${counter}`);
if (counter >= 5) {
clearInterval(intervalId); // Остановка интервала
}
}, 1000);
В этом примере код внутри
setInterval
выполняется каждую секунду. Когда значение counter
достигает 5, интервал останавливается с помощью clearInterval
. Это полезно для задач, требующих периодического выполнения, таких как обновление данных или анимации.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Глобальная область видимости — переменные, объявленные вне функций или блоков, доступны везде в коде. Функциональная область видимости — переменные, объявленные внутри функции, доступны только в её пределах. Блочная область видимости появилась с
let
и const
— переменные, объявленные внутри блока {}
, доступны только в этом блоке.
const globalVar = "I'm global"; // Глобальная область видимости
function example() {
const functionVar = "I'm in function"; // Функциональная область видимости
if (true) {
const blockVar = "I'm in block"; // Блочная область видимости
}
console.log(blockVar); // Ошибка: blockVar не определена
}
Использование
var
создаёт переменные с функциональной областью видимости, а let
и const
— с блочной. Это важно учитывать для предотвращения ошибок и утечек переменных.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
пер
аторов
=== и !==. Оно проверяет как значения, так и типы данных. Если типы или значения не совпадают, результат б
удет false.
5 === '5'; // false, так как разные типы (number и string)
5 === 5; // true, одинаковые значения и типы
В отличие от нестрогого сравнения (== и !=), которое может приводить типы данных для сравнения, строгое сравнение исключает неявные преобразования, что делает его более предсказуемым и безопасным.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
pop
используется для удаления и возврата последнего элемента массива. Если массив пуст, возвращается undefined
. Также можно указать индекс элемента для удаления.
const fruits = ['apple', 'banana', 'cherry'];
// Удаление последнего элемента
const lastFruit = fruits.pop();
console.log(lastFruit); // 'cherry'
console.log(fruits); // ['apple', 'banana']
// Удаление элемента по индексу
const firstFruit = fruits.pop(0); // Не работает, pop удаляет только последний элемент
Метод изменяет исходный массив и возвращает удаленный элемент. Для удаления элементов по индексу лучше использовать
splice
.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🤔1
null
или undefined
, можно использовать строгое сравнение (===) или оператор логического И (&&).let value = null;
// Проверка через строгое сравнение
if (value === null || value === undefined) {
console.log('Value is null or undefined');
}
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1👀1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
window
или другом соответствующем объекте.
if (typeof window.localStorage !== 'undefined') {
console.log('localStorage is supported');
} else {
console.log('localStorage is not supported');
}
Если функция или API доступны, условие выполнится. Это позволяет писать код с учетом совместимости с разными браузерами.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
XMLHttpRequest
или современный метод fetch
.Пример с использованием
fetch
:
fetch('https://api.example.com/data')
.then(response => response.json()) // Преобразуем ответ в JSON
.then(data => console.log(data)) // Работаем с данными
.catch(error => console.error('Ошибка:', error)); // Обрабатываем ошибки
fetch
возвращает промис, что позволяет удобно работать с асинхронными операциями. Для более сложных запросов можно передавать дополнительные параметры, такие как метод, заголовки или тело запроса.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Глобальная область видимости — переменные, объявленные вне функций или блоков, доступны везде в коде. Функциональная область видимости ограничивает доступ переменных, объявленных внутри функции, только этой функцией. Блочная область видимости, появившаяся с введением let и const, ограничивает доступ переменных блоком кода, например, внутри if или for.
const globalVar = 'global'; // Глобальная область видимости
function example() {
const localVar = 'local'; // Функциональная область видимости
if (true) {
const blockVar = 'block'; // Блочная область видимости
}
}
Понимание областей видимости помогает избегать ошибок, связанных с использованием переменных вне их контекста.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
// export.js
export const value = 42;
export function greet() { return 'Hello'; }
Для экспорта используются ключевые слова
export
или export default
.
// import.js
import { value, greet } from './export.js';
console.log(value); // 42
console.log(greet()); // Hello
Импорт выполняется с помощью
import
. Модули поддерживают статический анализ, что позволяет оптимизировать загрузку и устранять неиспользуемый код. Модули всегда работают в строгом режиме (use strict).Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Синхронный код выполняется последовательно, каждая операция ожидает завершения предыдущей. Это блокирующий подход, где длительные задачи могут задерживать выполнение последующих операций.
console.log('First');
console.log('Second'); // Выполнится только после завершения первой строки
Асинхронный код позволяет выполнять задачи без блокировки основного потока. Операции могут быть отложены и завершены позже, что особенно полезно для работы с сетью, файлами или таймерами.
console.log('First');
setTimeout(() => console.log('Second'), 1000); // Выполнится через 1 секунду, не блокируя поток
console.log('Third'); // Выполнится сразу после 'First'
Асинхронность достигается через колбэки, промисы и async/await, что делает код более эффективным для задач с ожиданием.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
async/await
. Промисы позволяют организовать асинхронный код в цепочку, а async/await
делает его более читаемым, похожим на синхронный.
// С промисами
fetchData()
.then(response => processData(response))
.then(result => saveData(result))
.catch(error => console.error(error));
// С async/await
async function handleData() {
try {
const response = await fetchData();
const result = await processData(response);
await saveData(result);
} catch (error) {
console.error(error);
}
}
Также можно разбивать код на отдельные функции, чтобы избежать вложенности. Это улучшает читаемость и поддерживаемость.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1