JavaScript ArrayBuffer.isView() — чи об'єкт є вікном у буфер


Статичний метод ArrayBuffer.isView() перевіряє, чи є об'єкт вікном у буфер — типізованим масивом або DataView.

автор: NagarD

Загальний опис

Потрібен там, де функція приймає й сам буфер, і вікно в нього — а поводитись із ними треба по-різному: у вікна є .buffer, у буфера немає.

Для самого ArrayBuffer метод дає false: буфер — це не вікно, а пам'ять.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
isView 32+ 29+ 7+ 19+ 12+ 11+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
isView 4.4+ yes yes 7+

Приклади

+ запропонувати свій приклад у пісочниці

Функція, що приймає і буфер, і будь-яке вікно в нього.

const buffer = new ArrayBuffer(8);
const view = new Uint8Array(buffer);

console.log(ArrayBuffer.isView(view));   // true
console.log(ArrayBuffer.isView(buffer)); // false — це пам'ять, не вікно

function bytes(data) {
    // приймаємо і буфер, і вікно
    const raw = ArrayBuffer.isView(data) ? data.buffer : data;

    return new Uint8Array(raw);
}
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід