| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/transfer | [Back] [Original] |
Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
Since 2024 3, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
ArrayBuffer transfer() ArrayBuffer .
transfer()
transfer(newByteLength)
newByteLength Optional ArrayBuffer byteLength. ArrayBuffer byteLength.
newByteLength ArrayBuffer byteLength "" .newByteLength ArrayBuffer byteLength 0 .ArrayBuffer newByteLength maxByteLength . ArrayBuffer . ArrayBuffer , 0 . ArrayBuffer ArrayBuffer , maxByteLength ArrayBuffer . ArrayBuffer .
RangeError ArrayBuffer newByteLength ArrayBuffer maxByteLength .
TypeErrorArrayBuffer .
transfer() . ArrayBuffer ArrayBuffer ArrayBuffer . .
transfer() ArrayBuffer . ArrayBuffer transferToFixedLength() . .
transfer() realloc .
// ArrayBuffer
const buffer = new ArrayBuffer(8);
const view = new Uint8Array(buffer);
view[1] = 2;
view[7] = 4;
//
const buffer2 = buffer.transfer();
console.log(buffer.detached); // true
console.log(buffer2.byteLength); // 8
const view2 = new Uint8Array(buffer2);
console.log(view2[1]); // 2
console.log(view2[7]); // 4
//
const buffer3 = buffer2.transfer(4);
console.log(buffer3.byteLength); // 4
const view3 = new Uint8Array(buffer3);
console.log(view3[1]); // 2
console.log(view3[7]); // undefined
//
const buffer4 = buffer3.transfer(8);
console.log(buffer4.byteLength); // 8
const view4 = new Uint8Array(buffer4);
console.log(view4[1]); // 2
console.log(view4[7]); // 0
// , TypeError
buffer.transfer(); // TypeError: Cannot perform ArrayBuffer.prototype.transfer on a detached ArrayBuffer
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
const view = new Uint8Array(buffer);
view[1] = 2;
view[7] = 4;
//
const buffer2 = buffer.transfer(4);
console.log(buffer2.byteLength); // 4
console.log(buffer2.maxByteLength); // 16
const view2 = new Uint8Array(buffer2);
console.log(view2[1]); // 2
console.log(view2[7]); // undefined
buffer2.resize(8);
console.log(view2[7]); // 0
// maxByteLength
const buffer3 = buffer2.transfer(12);
console.log(buffer3.byteLength); // 12
// maxByteLength
buffer3.transfer(20); // RangeError: Invalid array buffer length
| Specification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-arraybuffer.prototype.transfer |
ArrayBuffer.prototype.transfer() in core-jsArrayBufferArrayBuffer.prototype.detachedArrayBuffer.prototype.transferToFixedLength()This page was last modified on 2024 6 11 by MDN contributors.
ArrayBufferObject/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Your blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |