> Что такое 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(), позволяющий разбить данные на части (например, для загрузки по частям).
Пример:
JAVASCRIPTconst 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 на основе существующего.
> Похожие задачи по frontend
В чем отличие среды исполнения JavaScript в браузере и на сервере
Можно ли получить данные объекта response до преобразования в json в JavaScript
Что такое Mutation Observer и для чего он нужен?
Что такое Resize Observer и для чего он нужен?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью