Baseline 2024
Newly available
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
ë³´ë¤ í¬ë¤ë©´ ë°ìí©ëë¤.
TypeError
ArrayBuffer
ê° ì´ë¯¸ ë¶ë¦¬ë ê²½ì° ë°ìí©ëë¤.
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
í¬ê¸° ì¡°ì ì´ ê°ë¥í 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
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4