DataView() ã³ã³ã¹ãã©ã¯ã¿ã¼
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
DataView() ã³ã³ã¹ãã©ã¯ã¿ã¼ã¯ã DataView ãªãã¸ã§ã¯ããçæãã¾ãã
試ãã¦ã¿ã¾ããã
// ArrayBuffer ããã¤ãåä½ã®ãµã¤ãºã§ä½æ
const buffer = new ArrayBuffer(16);
// ããã¤ãã®ãã¥ã¼ã使
const view1 = new DataView(buffer);
const view2 = new DataView(buffer, 12, 4); // 12 ãã¤ãç®ãã飿¥ãã 4 ãã¤ã
view1.setInt8(12, 42); // 42 ãã¹ããã 12 ã«ç½®ã
console.log(view2.getInt8(0));
// äºæ³ãããçµæ: 42
æ§æ
new DataView(buffer)
new DataView(buffer, byteOffset)
new DataView(buffer, byteOffset, byteLength)
弿°
buffer-
æ¢åã®
ArrayBufferã¾ãã¯SharedArrayBufferã§ãæ°ããDataViewãªãã¸ã§ã¯ãã®èæ¯ã¨ãªãã¹ãã¬ã¼ã¸ã¨ãã¦ä½¿ç¨ããã¾ãã byteOffsetçç¥å¯-
æ°ãããã¥ã¼ãåç §ãããããã¡ã¼ã®æåã®ãã¤ãã¾ã§ã®ãªãã»ããããã¤ãåä½ã§æå®ãã¾ããæå®ããã¦ããªãå ´åããããã¡ã¼ãã¥ã¼ã¯æåã®ãã¤ãããå§ã¾ãã¾ãã
byteLengthçç¥å¯-
ãã¤ãé åã®è¦ç´ æ°ã§ããæå®ããªãå ´åããã¥ã¼ã®é·ãã¯ãããã¡ã¼ã®é·ãã¨ä¸è´ãã¾ãã
è¿å¤
æå®ããããã¼ã¿ãããã¡ã¼ãè¡¨ãæ°ãã DataView ãªãã¸ã§ã¯ãã§ãã
ä¾å¤
RangeError-
byteOffsetãbyteLength弿°ã®å¤ããããã¡ã¼ã®æ«å°¾ãè¶ãã¦åºããçµæã«ãªãå ´åã«çºçãã¾ããè¨ãæããã¨ãbyteOffset + byteLength > buffer.byteLengthã§ãã
ä¾
>DataView ã®ä½¿ç¨
const buffer = new ArrayBuffer(16);
const view = new DataView(buffer, 0);
view.setInt16(1, 42);
view.getInt16(1); // 42
仿§æ¸
| 仿§æ¸ |
|---|
| ECMAScript® 2027 Language Specification > # sec-dataview-constructor > |