JavaScript Türleştirilmiş Dizi Referans Kılavuzu
- Önceki sayfa JS ifadeleri
- Sonraki sayfa Window Nesnesi
JavaScript 类型化数组
在 Javascript 中,类型化数组是二进制数据的类似数组的缓冲区。
不存在名为 TypedArray 的 JavaScript 属性或对象,但属性和方法可以与类型化数组对象一起使用:
实例
const myArr = new Int8Array(10);
类型化数组的对象
对象 | 数据类型 | 范围 |
---|---|---|
Int8Array | 有符号整数(字节) | -128/127 |
Uint8Array | 无符号整数(八位字节) | 0/255 |
Uint8ClampedArray | 无符号整数(八位字节) | 0/255 |
Int16Array | 短整数 | -32768/32767 |
Uint16Array | 无符号短整数 | 0/65535 |
Int32Array | 有符号长整数 | -231/231-1 |
Uint32Array | 无符号长整数 | 0/232 |
Float32Array | 浮点 - 7 位有效数字 | 1.2x10-38/3.4x1038 |
Float64Array | 双精度浮点 - 16 位有效数字 | 5.0x10-324/1.8x10308 |
BigInt64Array | 有符号大整数 | -263/263-1 |
BigUint64Array | Ücretsiz büyük tamsayı | 0/264 |
Açıklama
Tipize edilmiş diziler dizi değildir.
Tipize edilmiş dizilerdeki isArray() false döner.
Tipize edilmiş diziler, birçok dizi yöntemini desteklemez (örneğin push ve pop).
Tipize edilmiş diziler, hafızada ikili veri saklamak için kullanılan benzer dizi nesneleridir.
Tipize edilmiş dizi yöntemleri ve özellikleri
Yöntem / Özellik | Açıklama |
---|---|
BYTES_PER_ELEMENT | Bir elemanın saklanacağı bayt sayısını hesaplayan özellik. |
fill() | Bütün elemanları bir değere doldurur. |
find() | Koşulu sağlayan ilk elemanı döner. |
name | Tipize edilmiş dizinin adını döner. |
of() | Dizi oluşturmak için kullanılır. |
some() | Bir eleman koşulu sağlıyorsa true döner. |
Uint8Array ile Uint8ClampedArray arasındaki fark
Uint8Array ve Uint8ClampedArray arasındaki fark, değer eklenme şeklindedir.
Uint8ClampedArray'ın bir elemanını 0-255 aralığı dışındaki bir değere ayarlanırsa, varsayılan olarak 0 veya 255 olur.
Tipize edilmiş diziler sadece değerin ön 8 bitini alır.
Tipize edilmiş dizilerin avantajları
Tipize edilmiş diziler, C'de çalışırken olduğu gibi etkili bir şekilde ikili veri işlemesi sağlar.
Tipize edilmiş diziler temel hafıza olduğundan, JavaScript, veriyi başka bir temsil formuna dönüştürmeden herhangi bir işleve doğrudan iletebilir.
Tipize edilmiş diziler, veriyi, temel ikili veri kullanan işlevlere (bilgisayar oyunları, WebGL, Canvas, dosya API'si, medya API'si) iletmek için çok daha hızlıdır.
Tarayıcı API'si tipize edilmiş dizi destekler
Fetch API örneği
fetch(url) .then(request => request.arrayBuffer()) .then(arrayBuffer =>...);
Canvas örneği
const canvas = document.getElementById('my_canvas'); const context = canvas.getContext('2d'); const imageData = context.getImageData(0, 0, canvas.width, canvas.height); const uint8ClampedArray = imageData.data;
Tarayıcı Desteği
typedArray Bu ECMAScript6 (ES6) özelliğidir.
Tüm modern tarayıcılar ES6 (JavaScript 2015) destekler.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Evet | Evet | Evet | Evet | Evet |
Internet Explorer 11 (ve daha eski sürümler) desteklemiyor typedArray.
- Önceki sayfa JS ifadeleri
- Sonraki sayfa Window Nesnesi