DataView.prototype.byteLength
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
byteLength 㯠DataView ã¤ã³ã¹ã¿ã³ã¹ã®ã¢ã¯ã»ãµã¼ããããã£ã§ããã®ãã¥ã¼ã®é·ããï¼ãã¤ãåä½ã§ï¼è¿ãã¾ãã
試ãã¦ã¿ã¾ããã
// ArrayBuffer ããã¤ãåä½ã®ãµã¤ãºã§ä½æ
const buffer = new ArrayBuffer(16);
const view1 = new DataView(buffer);
const view2 = new DataView(buffer, 12, 4); // 12 ãã¤ãç®ããç¶ã 4 ãã¤ã
console.log(view1.byteLength + view2.byteLength); // 16 + 4
// äºæ³ãããçµæ: 20
解説
byteLengthããããã£ã¯ã¢ã¯ã»ãµã¼ããããã£ã§ããããã®è¨å®ã¢ã¯ã»ãµã¼é¢æ°ã¯ undefined ã§ããããããã®ããããã£ã¯èªã¿åãå°ç¨ã§ããDataView ã é·ã追跡 ã§ããå ´åããã®é·ãã¯åºç¤ã¨ãªããããã¡ã¼ã®é·ãã«ä¾åãããããã¡ã®ãµã¤ãºå¤æ´æã«å¤æ´ããããã¨ãããã¾ããããã§ãªãå ´åãå¤ã¯ DataView ã®æ§ç¯æã«ç¢ºå®ããã夿´ã§ãã¾ãããé·ãè¿½è·¡ã®æç¡ã«ããããããåºç¤ã¨ãªããããã¡ã¼ã®ãµã¤ãºå¤æ´ã«ãã表示ç¯å²ãã§ããªããªã£ãå ´åãbyteLength 㯠0 ã«ãªãã¾ãã
ä¾
>byteLength ããããã£ã®ä½¿ç¨
const buffer = new ArrayBuffer(8);
const dataview = new DataView(buffer);
dataview.byteLength; // 8 ï¼ãããã¡ã¼ã® byteLength ã«ä¸è´ï¼
const dataview2 = new DataView(buffer, 1, 5);
dataview2.byteLength; // 5 ï¼DataView ãæ§ç¯ããéã«æå®ï¼
const dataview3 = new DataView(buffer, 2);
dataview3.byteLength; // 6 ï¼æ§ç¯ããã DataView ã®ãªãã»ããã«ããï¼
const buffer2 = new ArrayBuffer(16, { maxByteLength: 32 });
const dataviewLengthTracking = new DataView(buffer2, 4);
dataviewLengthTracking.byteLength; // 12 (16 - 4)
buffer2.resize(20);
dataviewLengthTracking.byteLength; // 16 (20 - 4)
buffer2.resize(3);
dataviewLengthTracking.byteLength; // 0 ï¼ãã¥ã¼ç¯å²ãæå¹ã§ã¯ãªããªã£ãï¼
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-get-dataview.prototype.bytelength> |