Я думаю, что важная вещь, которую вы упускаете, это то, что DataView
- это просто представление.Поэтому, когда вы делаете dataView.setUint8(1, 4)
, вы делаете изменения buffer
.Сам по себе dataView
не содержит данных, это просто ссылка на буфер.Так что ваш код уже делает то, что вы хотите.Чтобы получить ArrayBuffer, просто используйте оригинальный буфер:
const buffer = new ArrayBuffer(16);
const dataView = new DataView(buffer);
dataView.setUint8(1, 4)
console.log(dataView.getUint8(1)); // 4
console.log(new Uint8Array(buffer)) // [ 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]