Int16Array
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
Int16Array ç±»ååæ°ç»è¡¨ç¤ºæå¹³å°åèé¡ºåºæåç 16 ä½æç¬¦å·æ´æ°æ°ç»ã妿éè¦æ§å¶åè顺åºï¼è¯·ä½¿ç¨ DataView 代æ¿ãæ°ç»å
容åå§å为 0ã建ç«åï¼å¯ä»¥ä½¿ç¨å¯¹è±¡çæ¹æ³ææ åæ°ç»ç´¢å¼è¯æ³ï¼å³ä½¿ç¨æ¹æ¬å·è¡¨ç¤ºæ³ï¼å¼ç¨æ°ç»ä¸çå
ç´ ã
Int16Array æ¯éèç±» TypedArray çåç±»ã
æé 彿°
Int16Array()-
å建ä¸ä¸ªæ°ç
Int16Array对象ã
éæå±æ§
ä»ç¶å¯¹è±¡ TypedArray ç»§æ¿éæå±æ§ã
Int16Array.BYTES_PER_ELEMENT-
è¿åå ç´ å¤§å°çæ°å¼ãå¨
Int16Arrayä¸è¯¥å¼ä¸º2ã
éææ¹æ³
ä»ç¶å¯¹è±¡ TypedArray ç»§æ¿éææ¹æ³ã
å®ä¾å±æ§
ä»ç¶å¯¹è±¡ TypedArray ç»§æ¿å®ä¾å±æ§ã
è¿äºå±æ§å¨ Int16Array.prototype ä¸å®ä¹ï¼å¹¶ä¸ºææ Int16Array å®ä¾å
±äº«ã
Int16Array.prototype.BYTES_PER_ELEMENT-
è¿åå ç´ å¤§å°çæ°å¼ãå¨
Int16Arrayä¸è¯¥å¼ä¸º2ã Int16Array.prototype.constructor-
å建å®ä¾å¯¹è±¡çæé 彿°ã对äº
Int16Arrayå®ä¾ï¼åå§å¼æ¯Int16Arrayæé 彿°ã
å®ä¾æ¹æ³
ä»ç¶å¯¹è±¡ TypedArray ç»§æ¿å®ä¾æ¹æ³ã
示ä¾
>å建 Int16Array çä¸åæ¹æ³
// ç»å®é¿åº¦
const int16 = new Int16Array(2);
int16[0] = 42;
console.log(int16[0]); // 42
console.log(int16.length); // 2
console.log(int16.BYTES_PER_ELEMENT); // 2
// ä»ä¸ä¸ªæ°ç»
const x = new Int16Array([21, 31]);
console.log(x[1]); // 31
// ä»å¦å¤ä¸ä¸ª TypedArray
const y = new Int16Array(x);
console.log(y[0]); // 21
// ä»ä¸ä¸ª ArrayBuffer
const buffer = new ArrayBuffer(16);
const z = new Int16Array(buffer, 2, 4);
console.log(z.byteOffset); // 2
// ä»å¯è¿ä»£å¯¹è±¡
const iterable = (function* () {
yield* [1, 2, 3];
})();
const int16FromIterable = new Int16Array(iterable);
console.log(int16FromIterable);
// Int16Array [1, 2, 3]
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-typedarray-objects> |