Bir ArrayBuffer nesnesi, kapsamlı ve sabit uzunluktaki raw binary data buffer'ını temsil etmek için kullanılır. Bir ArrayBuffer'ın içeriklerini direkt olarak manipüle edemezsiniz; bunun yerine, yazılmış dizi nesnelerini veya buffer'ı özel bir formatta temsil eden bir DataView nesnesini oluşturursunuz, buffer'a içerik yazmak veya buffer'dan içerik okumak için kullanırsınız.
Syntax
new ArrayBuffer(length)
Parametreler
length- Byte cinsinden, oluşturulan array buffer'ın boyutudur.
Döndürülen Değer
Belirlenen boyutta yeni bir ArrayBuffer nesnesi. İçeriği 0 atanmış durumdadır.
İstisnalar
Eğer uzunluk Number.MAX_SAFE_INTEGER (>= 2 ** 53) ifadesinden büyük ya da negatif ise bir RangeError fırlatılır.
Tanım
ArrayBuffer constructor'ı, byte cinsinden verilen boyutta yeni bir ArrayBuffer oluşturur.
Var olan bir data'dan array buffer çekmek
Özellikler
ArrayBuffer.length- ArrayBuffer constructor'ının 1 değerine sahip uzunluk özelliği.
get ArrayBuffer[@@species]- Türetilmiş nesneleri oluşturmak için kullanılan constructor fonksiyonu.
ArrayBuffer.prototype- Bütün ArrayBuffer nesnelerine özellik eklemeye izin verir.
Metodlar
ArrayBuffer.isView(arg)- Eğer
argbir ArrayBuffer view'i isetruedöndürür, tıpkı yazılmış dizi nesneleri veya birDataViewgibi. Aksi haldefalsedöndürür. ArrayBuffer.transfer(oldBuffer [, newByteLength])-
oldBuffer'ın alınmış, ardından kesilmiş veya newByteLength tarafından sıfır-uzatılmış datasını içeren yeni bir ArrayBuffer döndürür.
ArrayBuffer oluşumları
Bütün ArrayBuffer oluşumları ArrayBuffer.prototype tarafından miras alınır.
Özellikler
- ArrayBuffer.prototype.constructor
- Specifies the function that creates an object's prototype. The initial value is the standard built-in
ArrayBufferconstructor. ArrayBuffer.prototype.byteLengthRead only- The size, in bytes, of the array. This is established when the array is constructed and cannot be changed. Read only.
Metodlar
ArrayBuffer.prototype.slice()- Returns a new
ArrayBufferwhose contents are a copy of thisArrayBuffer's bytes frombegin, inclusive, up toend, exclusive. If eitherbeginorendis negative, it refers to an index from the end of the array, as opposed to from the beginning.
ArrayBuffer.slice()ArrayBuffer.prototype.slice()ile aynı fonksiyonelliğe sahiptir.
Örnek
Bu örnekte, Int32Array view'i aracılığıyla 8-byte'lık bir buffer oluştururuz.
var buffer = new ArrayBuffer(8); var view = new Int32Array(buffer);
Belirtmeler
| Belirtme | Durum | Yorumlar |
|---|---|---|
| Typed Array Specification | Obsolete | ECMAScript 6 tarafından yenilenmiştir. |
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'ArrayBuffer' in that specification. |
Standard | Bir ECMA standardı için başlangıç tanımı. new'in gerekli olduğu belirtilmiştir. |
| ECMAScript Latest Draft (ECMA-262) The definition of 'ArrayBuffer' in that specification. |
Draft |
Tarayıcı Uyumluluğu
| Özellik | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Temel Destek | 7.0 | 4.0 (2) | 10 | 11.6 | 5.1 |
ArrayBuffer() new fırlatmadan |
? | 44 (44) | ? | ? | ? |
ArrayBuffer.slice() |
No support | (Yes) No support 53 (53) |
No support | No support | ? |
| Özellik | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Temel Destek | 4.0 | (Yes) | 4.0 (2) | 10 | 11.6 | 4.2 |
ArrayBuffer() new fırlatmadan |
? | ? | 44.0 (44) | ? | ? | ? |
ArrayBuffer.slice() |
No support | No support | (Yes) No support 53.0 (53) |
No support | No support | ? |
Uyumluluk Notları
ECMAScript 2015'ten başlamak üzere, ArrayBuffer constructor'ları bir new operatörü aracılığıyla inşa edilmeye ihtiyaç duymaktadır. Artık new fonksiyonu kullanmadan bir ArrayBuffer constructor'ı çağırmak, bir TypeError fırlatacaktır.
var dv = ArrayBuffer(10);
// TypeError:new komutu olmadan
// Gömülü bir ArrayBuffer constructor'u çağırmak
var dv = new ArrayBuffer(10);