--- title: ArrayBuffer slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer tags: - ArrayBuffer - Constructor - JavaScript - Yazılı Diziler translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer ---
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 {{jsxref("DataView")}} nesnesini oluşturursunuz, buffer'a içerik yazmak veya buffer'dan içerik okumak için kullanırsınız.
new ArrayBuffer(length)
length
Belirlenen boyutta yeni bir ArrayBuffer nesnesi. İçeriği 0 atanmış durumdadır.
Eğer uzunluk {{jsxref("Number.MAX_SAFE_INTEGER")}} (>= 2 ** 53) ifadesinden büyük ya da negatif ise bir {{jsxref("RangeError")}} fırlatılır.
ArrayBuffer
constructor'ı, byte cinsinden verilen boyutta yeni bir ArrayBuffer oluşturur.
ArrayBuffer.length
arg
bir ArrayBuffer view'i ise true
döndürür, tıpkı yazılmış dizi nesneleri veya bir {{jsxref("DataView")}}gibi. Aksi halde false
döndürür.ArrayBuffer
oluşumlarıBütün ArrayBuffer
oluşumları {{jsxref("ArrayBuffer.prototype")}} tarafından miras alınır.
{{page('en-US/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Properties')}}
{{page('en-US/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Methods')}}
Bu örnekte, {{jsxref("Global_Objects/Int32Array", "Int32Array")}} view'i aracılığıyla 8-byte'lık bir buffer oluştururuz.
var buffer = new ArrayBuffer(8); var view = new Int32Array(buffer);
Belirtme | Durum | Yorumlar |
---|---|---|
{{SpecName('Typed Array')}} | {{Spec2('Typed Array')}} | ECMAScript 6 tarafından yenilenmiştir. |
{{SpecName('ES6', '#sec-arraybuffer-constructor', 'ArrayBuffer')}} | {{Spec2('ES6')}} | Bir ECMA standardı için başlangıç tanımı. new 'in gerekli olduğu belirtilmiştir. |
{{SpecName('ESDraft', '#sec-arraybuffer-constructor', 'ArrayBuffer')}} | {{Spec2('ESDraft')}} |
{{CompatibilityTable}}
Özellik | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Temel Destek | 7.0 | {{CompatGeckoDesktop("2")}} | 10 | 11.6 | 5.1 |
ArrayBuffer() new fırlatmadan |
{{CompatUnknown}} | {{CompatGeckoDesktop("44")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
ArrayBuffer.slice() {{non-standard_inline}} |
{{CompatNo}} | {{CompatVersionUnknown}} {{CompatNo}} {{CompatGeckoDesktop("53")}} |
{{CompatNo}} | {{CompatNo}} | {{CompatUnknown}} |
Özellik | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Temel Destek | 4.0 | {{CompatVersionUnknown}} | {{CompatGeckoMobile("2")}} | 10 | 11.6 | 4.2 |
ArrayBuffer() new fırlatmadan |
{{CompatUnknown}} | {{CompatUnknown}} | {{CompatGeckoMobile("44")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
ArrayBuffer.slice() {{non-standard_inline}} |
{{CompatNo}} | {{CompatNo}} | {{CompatVersionUnknown}} {{CompatNo}} {{CompatGeckoMobile("53")}} |
{{CompatNo}} | {{CompatNo}} | {{CompatUnknown}} |
ECMAScript 2015'ten başlamak üzere, ArrayBuffer constructor'ları bir {{jsxref("Operators/new", "new")}} operatörü aracılığıyla inşa edilmeye ihtiyaç duymaktadır. Artık new
fonksiyonu kullanmadan bir ArrayBuffer constructor'ı çağırmak, bir {{jsxref("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);