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
arg
bir ArrayBuffer view'i isetrue
döndürür, tıpkı yazılmış dizi nesneleri veya birDataView
gibi. Aksi haldefalse
dö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
ArrayBuffer
constructor. ArrayBuffer.prototype.byteLength
Read 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
ArrayBuffer
whose contents are a copy of thisArrayBuffer
's bytes frombegin
, inclusive, up toend
, exclusive. If eitherbegin
orend
is 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);