> Что такое Blob в JavaScript и для чего он используется? (JavaScript)

Уровень: junior · Роль: frontend · Категория: Технические вопросы

Компании: Сбер

Стек: JavaScript

> Пример ответа

Blob (Binary Large Object) - это встроенный в JavaScript объект, представляющий неизменяемые необработанные двоичные данные. Он может содержать данные любого типа (изображения, аудио, текст, части файлов) и не зависит от формата файла. Blob используется для работы с большими объёмами данных, которые не помещаются в обычную строку, и для создания ссылок на эти данные без загрузки на сервер.

Основные сценарии использования:

  • Создание файлов на клиенте: через конструктор new Blob([data], {type: 'text/plain'}) можно сгенерировать файл, например, для скачивания через URL.createObjectURL(blob).
  • Загрузка данных: с помощью FormData.append('file', blob) можно отправить Blob на сервер как часть multipart-формы.
  • Работа с медиа: Blob используется для представления фрагментов видео/аудио (например, при записи с MediaRecorder) или для создания временных URL для отображения изображений.
  • Разделение больших файлов: Blob поддерживает метод .slice(), позволяющий разбить данные на части (например, для загрузки по частям).

Пример:

JAVASCRIPT
const text = 'Hello, world!';
const blob = new Blob([text], { type: 'text/plain' });
const url = URL.createObjectURL(blob);
// Создаём ссылку для скачивания
const a = document.createElement('a');
a.href = url;
a.download = 'hello.txt';
a.click();
URL.revokeObjectURL(url);

Важно: Blob неизменяем - после создания его содержимое нельзя изменить, можно только создать новый Blob на основе существующего.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью