Uint8Array
åºçº¿
广æ³å¯ç¨
*
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
* æ¤ç¹æ§çæäºé¨åçæ¯æç¨åº¦å¯è½ææä¸åã
Uint8Array æ°ç»ç±»å表示ä¸ä¸ª 8 使 ç¬¦å·æ´åæ°ç»ï¼å建æ¶å
容被åå§å为 0ãå建å®åï¼å¯ä»¥ä»¥å¯¹è±¡çæ¹å¼æä½¿ç¨æ°ç»ä¸æ ç´¢å¼çæ¹å¼å¼ç¨æ°ç»ä¸çå
ç´ ã
è¯æ³æ ¼å¼
new Uint8Array(); // ES2017 ææ°è¯æ³ new Uint8Array(length); // å建åå§å为 0 çï¼å å« length 个å ç´ çæ ç¬¦å·æ´åæ°ç» new Uint8Array(typedArray); new Uint8Array(object); new Uint8Array(buffer [, byteOffset [, length]]);
æé è¯æ³ååæ°çæ´å¤ä¿¡æ¯è¯·åè§ TypedArray.
éæå±æ§
Uint8Array.BYTES_PER_ELEMENT-
è¿åæ°ç»ä¸å ç´ çåèæ°ï¼Uint8Array ä¸è¿å 1 åèã
- Uint8Array.length
-
éæå±æ§ length ä¸ç´ä¸º 0ãæ³è·ç¥å ¶çå®é¿åº¦ï¼å ç´ ä¸ªæ°ï¼ï¼è¯·åé
Uint8Array.prototype.lengthã Uint8Array.prototype-
TypedArray 对象çååã
éææ¹æ³
Uint8Array.from()-
ä»ä¸ä¸ªæ°ç»æå¯è¿ä»£ç对象å建ä¸ä¸ªæ°ç
Uint8Arrayæ°ç»ï¼å¯åè§Array.from(). Uint8Array.of()-
éè¿ä¸ä¸ªå¯åæ°ç®çåæ°å建ä¸ä¸ªæ°ç
Uint8Arrayæ°ç»ï¼å¯åè§Array.of().
å®ä¾å±æ§
è¿ä»å
¶ç¶æ¥å£ TypedArray ç»§æ¿å®ä¾å±æ§ã
Uint8Array.prototype.constructor-
è¿åå建å®ä¾å±æ§ç彿°ï¼é»è®¤ä¸º
Uint8Arrayæé å¨ã Uint8Array.prototype.bufferåªè¯»-
è¿åç±
Uint8Arrayå¼ç¨çArrayBufferï¼å¨æé æ¶æåºå®ï¼æä»¥æ¯åªè¯»çã Uint8Array.prototype.byteLengthåªè¯»-
è¿å
Uint8Arrayé¿åº¦ï¼åèæ°ï¼ãå¨æé æ¶æåºå®ï¼æä»¥æ¯ åªè¯»çã Uint8Array.prototype.byteOffsetåªè¯»-
è¿å
Uint8Arrayè·ç¦»å ¶ArrayBufferèµ·å§ä½ç½®çåç§»ï¼åèæ°ï¼ãå¨æé æ¶æåºå®ï¼æä»¥æ¯ åªè¯»çã Uint8Array.prototype.lengthåªè¯»-
è¿åä¿åå¨
Uint8Arrayä¸çå ç´ æ°éãå¨æé æ¶æåºå®ï¼æä»¥æ¯ åªè¯»çã
å®ä¾æ¹æ³
ä»å
¶ç¶æ¥å£ TypedArray ç»§æ¿å®ä¾æ¹æ³ã
示ä¾
// æ¥èªé¿åº¦
var uint8 = new Uint8Array(2);
uint8[0] = 42;
console.log(uint8[0]); // 42
console.log(uint8.length); // 2
console.log(uint8.BYTES_PER_ELEMENT); // 1
// æ¥èªæ°ç»
var arr = new Uint8Array([21, 31]);
console.log(arr[1]); // 31
// æ¥èªå¦ä¸ä¸ª TypedArray
var x = new Uint8Array([21, 31]);
var y = new Uint8Array(x);
console.log(y[0]); // 21
// æ¥èª ArrayBuffer
var buffer = new ArrayBuffer(8);
var z = new Uint8Array(buffer, 1, 4);
// æ¥èªä¸ä¸ªè¿ä»£å¨
var iterable = (function* () {
yield* [1, 2, 3];
})();
var uint8 = new Uint8Array(iterable);
// Uint8Array[1, 2, 3]
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-typedarray-objects> |
æµè§å¨å ¼å®¹æ§
å ¼å®¹æ§è¯´æ
ä» ECMAScript 2015 å¼å§ï¼Uint8Array æé 彿°éè¦éè¿ new æä½ç¬¦è°ç¨ã峿¥èµ·å¦ææ²¡æä½¿ç¨ new è°ç¨ Uint8Array çæé 彿°ï¼å°ä¼æåº TypeError ã
var dv = Uint8Array([1, 2, 3]);
// TypeError: calling a builtin Uint8Array constructor
// ä¸ä½¿ç¨ new å°ä¼è¢«ç¦æ¢
var dv = new Uint8Array([1, 2, 3]);