aboutsummaryrefslogtreecommitdiff
path: root/files/de/web/javascript/reference/global_objects/arraybuffer
diff options
context:
space:
mode:
Diffstat (limited to 'files/de/web/javascript/reference/global_objects/arraybuffer')
-rw-r--r--files/de/web/javascript/reference/global_objects/arraybuffer/@@species/index.html72
-rw-r--r--files/de/web/javascript/reference/global_objects/arraybuffer/bytelength/index.html70
-rw-r--r--files/de/web/javascript/reference/global_objects/arraybuffer/index.html144
-rw-r--r--files/de/web/javascript/reference/global_objects/arraybuffer/isview/index.html89
-rw-r--r--files/de/web/javascript/reference/global_objects/arraybuffer/prototype/index.html68
-rw-r--r--files/de/web/javascript/reference/global_objects/arraybuffer/slice/index.html88
-rw-r--r--files/de/web/javascript/reference/global_objects/arraybuffer/transfer/index.html84
7 files changed, 615 insertions, 0 deletions
diff --git a/files/de/web/javascript/reference/global_objects/arraybuffer/@@species/index.html b/files/de/web/javascript/reference/global_objects/arraybuffer/@@species/index.html
new file mode 100644
index 0000000000..896576bf2e
--- /dev/null
+++ b/files/de/web/javascript/reference/global_objects/arraybuffer/@@species/index.html
@@ -0,0 +1,72 @@
+---
+title: 'get ArrayBuffer[@@species]'
+slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/@@species
+tags:
+ - ArrayBuffer
+ - JavaScript
+ - Property
+ - TypedArrays
+translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/@@species
+---
+<div>{{JSRef}}</div>
+
+<p>Die <code><strong>ArrayBuffer[@@species]</strong></code> Zugriffseigenschaft gibt den Konstruktor des <code>ArrayBuffer </code>zurück.</p>
+
+<h2 id="Syntax">Syntax</h2>
+
+<pre class="syntaxbox">ArrayBuffer[Symbol.species]
+</pre>
+
+<h2 id="Beschreibung">Beschreibung</h2>
+
+<p>Die <code>species</code> Zugriffseigenschaft gibt den Standard-Konstruktor für <code>ArrayBuffer</code> Objekte zurück. Konstruktoren von Unterklassen überschreiben dieses, um die Konstruktorzuweisung zu ändern.</p>
+
+<h2 id="Beispiele">Beispiele</h2>
+
+<p>Die <code>species</code> Eigenschaft gibt die Standard-Konstruktorfunktion zurück, welche der <code>ArrayBuffer</code> Konstruktor für <code>ArrayBuffer</code> Objekte ist:</p>
+
+<pre class="brush: js">ArrayBuffer[Symbol.species]; // function ArrayBuffer()</pre>
+
+<p>In einem abgeleiteten Collection Objket (z. B. ein benutzerdefinierter Buffer <code>MyArrayBuffer</code>), ist der <code>MyArrayBuffer</code> species der <code>MyArrayBuffer</code> Konstruktor. Immer, wenn dieser überschrieben werden soll, um zum Beispiel das Eltern <code>ArrayBuffer</code> Objekt in der abgeleiteten Klassenmethode zurückzugeben:</p>
+
+<pre class="brush: js">class MyArrayBuffer extends ArrayBuffer {
+ // Overwrite MyArrayBuffer species to the parent ArrayBuffer constructor
+ static get [Symbol.species]() { return ArrayBuffer; }
+}</pre>
+
+<h2 id="Spezifikationen">Spezifikationen</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spezifikation</th>
+ <th scope="col">Status</th>
+ <th scope="col">Kommentar</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-get-arraybuffer-@@species', 'get ArrayBuffer [ @@species ]')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Initiale Definition.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-get-arraybuffer-@@species', 'get ArrayBuffer [ @@species ]')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
+
+<div>
+
+
+<p>{{Compat("javascript.builtins.ArrayBuffer.@@species")}}</p>
+</div>
+
+<h2 id="Siehe_auch">Siehe auch</h2>
+
+<ul>
+ <li>{{jsxref("ArrayBuffer")}}</li>
+ <li>{{jsxref("Symbol.species")}}</li>
+</ul>
diff --git a/files/de/web/javascript/reference/global_objects/arraybuffer/bytelength/index.html b/files/de/web/javascript/reference/global_objects/arraybuffer/bytelength/index.html
new file mode 100644
index 0000000000..aa346bcba5
--- /dev/null
+++ b/files/de/web/javascript/reference/global_objects/arraybuffer/bytelength/index.html
@@ -0,0 +1,70 @@
+---
+title: ArrayBuffer.prototype.byteLength
+slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/byteLength
+tags:
+ - ArrayBuffer
+ - JavaScript
+ - Property
+ - Prototype
+translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/byteLength
+---
+<div>{{JSRef}}</div>
+
+<p>Die <code><strong>byteLength</strong></code> Zugriffseigenschaft repräsentiert die Länge eines {{jsxref("ArrayBuffer")}} in Bytes.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/arraybuffer-bytelength.html")}}</div>
+
+
+
+<h2 id="Syntax">Syntax</h2>
+
+<pre class="syntaxbox"><var>arr</var>aybuffer.byteLength</pre>
+
+<h2 id="Beschreibung">Beschreibung</h2>
+
+<p>Die <code>byteLength</code> Eigenschaft ist eine Zugriffseigenschaft, wessen set-Funktion <code>undefined</code> ist, was bedeutet, dass diese nur gelesen werden kann. Der Wert wird ermittelt, wenn das Array erstellt wird und kann nicht geändert werden. Diese Eigenschaft gibt 0 zurück, wenn der <code>ArrayBuffer</code> detached ist.</p>
+
+<h2 id="Beispiele">Beispiele</h2>
+
+<pre class="brush:js">var buffer = new ArrayBuffer(8);
+buffer.byteLength; // 8
+</pre>
+
+<h2 id="Spezifikationen">Spezifikationen</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spezifikation</th>
+ <th scope="col">Status</th>
+ <th scope="col">Kommentar</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Typed Array')}}</td>
+ <td>{{Spec2('Typed Array')}}</td>
+ <td>Ersetzt in ECMAScript 2015.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES2015', '#sec-get-arraybuffer.prototype.bytelength', 'ArrayBuffer.prototype.byteLength')}}</td>
+ <td>{{Spec2('ES2015')}}</td>
+ <td>Initiale Definition im ECMA Standard.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-get-arraybuffer.prototype.bytelength', 'ArrayBuffer.prototype.byteLength')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
+
+
+
+<p>{{Compat("javascript.builtins.ArrayBuffer.byteLength")}}</p>
+
+<h2 id="Siehe_auch">Siehe auch</h2>
+
+<ul>
+ <li>{{jsxref("ArrayBuffer")}}</li>
+</ul>
diff --git a/files/de/web/javascript/reference/global_objects/arraybuffer/index.html b/files/de/web/javascript/reference/global_objects/arraybuffer/index.html
new file mode 100644
index 0000000000..a8de24aac7
--- /dev/null
+++ b/files/de/web/javascript/reference/global_objects/arraybuffer/index.html
@@ -0,0 +1,144 @@
+---
+title: ArrayBuffer
+slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer
+tags:
+ - ArrayBuffer
+ - Constructor
+ - JavaScript
+ - TypedArrays
+translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer
+---
+<div>{{JSRef}}</div>
+
+<p>Das <code><strong>ArrayBuffer</strong></code> Objekt repräsentiert einen generischen Buffer mit fester Länge. Der Inhalt eines <code>ArrayBuffer</code>s kann nicht direkt bearbeitet werden; stattdessen wird eines der <a href="/de/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">typisierten Array-Objekte</a> oder ein {{jsxref("DataView")}} Objekt verwendet, welches den Buffer in einem bestimmten Format repräsentiert und von welchem aus sein Inhalt bearbeitet werden kann.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/arraybuffer-constructor.html")}}</div>
+
+
+
+<h2 id="Syntax">Syntax</h2>
+
+<pre class="syntaxbox">new ArrayBuffer(length)
+</pre>
+
+<h3 id="Parameter">Parameter</h3>
+
+<dl>
+ <dt>length</dt>
+ <dd>Die Größe, in Bytes, des zu erstellenden <code>ArrayBuffer</code>.</dd>
+</dl>
+
+<h3 id="Rückgabewert">Rückgabewert</h3>
+
+<p>Ein neues <code>ArrayBuffer </code>Objekt der angegebenen Länge. Der Inhalt wird auf 0 initialisiert.</p>
+
+<h3 id="Ausnahmen">Ausnahmen</h3>
+
+<p>Ein {{jsxref("RangeError")}} wird erhoben wenn die Länge größer als {{jsxref("Number.MAX_SAFE_INTEGER")}} (&gt;= 2 ** 53) oder negativ ist.</p>
+
+<h2 id="Beschreibung">Beschreibung</h2>
+
+<p>Der <code>ArrayBuffer</code> Konstruktor erstellt einen neuen <code>ArrayBuffer </code>der angegebenen Länge in Bytes.</p>
+
+<h3 id="Einen_ArrayBuffer_von_existierenden_Daten_erstellen">Einen ArrayBuffer von existierenden Daten erstellen</h3>
+
+<ul>
+ <li><a href="/de/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Appendix.3A_Decode_a_Base64_string_to_Uint8Array_or_ArrayBuffer">Von einem Base64-String</a></li>
+ <li><a href="/de/docs/Web/API/FileReader#readAsArrayBuffer()">Von einer lokalen Datei</a></li>
+</ul>
+
+<h2 id="Eigenschaften">Eigenschaften</h2>
+
+<dl>
+ <dt><code>ArrayBuffer.length</code></dt>
+ <dd>Der Wert des <code>ArrayBuffer</code> Konstruktors für die Länge.</dd>
+ <dt>{{jsxref("ArrayBuffer.@@species", "get ArrayBuffer[@@species]")}}</dt>
+ <dd>Die Konstruktor-Funktion um abgeleitete Objekte zu erstellen.</dd>
+ <dt>{{jsxref("ArrayBuffer.prototype")}}</dt>
+ <dd>Erlaubt das Hinzufügen von Eigenschaften zu allen <code>ArrayBuffer </code>Objekten.</dd>
+</dl>
+
+<h2 id="Methoden">Methoden</h2>
+
+<dl>
+ <dt>{{jsxref("ArrayBuffer.isView", "ArrayBuffer.isView(arg)")}}</dt>
+ <dd>Gibt <code>true</code> zurück wenn <code>arg</code> eines der Views des <code>ArrayBuffers </code>ist, wie zum Beispiel die <a href="/de/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">typisierten Array-Objekt</a>e oder ein {{jsxref("DataView")}}. Ansonsten wird <code>false</code> zurückgegeben.</dd>
+ <dt>{{jsxref("ArrayBuffer.transfer", "ArrayBuffer.transfer(oldBuffer [, newByteLength])")}} {{experimental_inline}}</dt>
+ <dd>
+ <div class="line" id="file-arraybuffer-transfer-LC6">Gibt einen neuen <code>ArrayBuffer</code> zurück, dessen Inhalt von den Daten des <code>oldBuffer</code>s genommen wird und dann entweder abgeschnitten oder mit Null auf <code>newByteLength</code> erweitert wird.</div>
+ </dd>
+</dl>
+
+<h2 id="Instanzen">Instanzen</h2>
+
+<p>Alle <code>ArrayBuffer</code> Instanzen erben von {{jsxref("ArrayBuffer.prototype")}}.</p>
+
+<h3 id="Eigenschaften_2">Eigenschaften</h3>
+
+<p>{{page('de/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Eigenschaften')}}</p>
+
+<h3 id="Methoden_2">Methoden</h3>
+
+<p>{{page('de/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Methoden')}}</p>
+
+<dl>
+ <dt>{{jsxref("ArrayBuffer.slice()")}} {{non-standard_inline}}</dt>
+ <dd>Hat die selbe Funktion wie {{jsxref("ArrayBuffer.prototype.slice()")}}.</dd>
+</dl>
+
+<h2 id="Beispiel">Beispiel</h2>
+
+<p>In diesem Beispiel erstellen wir einen 8-byte Puffer mit einem {{jsxref("Global_Objects/Int32Array", "Int32Array")}} View, um auf den Puffer zu verweisen:</p>
+
+<pre class="brush: js">var buffer = new ArrayBuffer(8);
+var view = new Int32Array(buffer);</pre>
+
+<h2 id="Spezifikationen">Spezifikationen</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spezifikation</th>
+ <th scope="col">Status</th>
+ <th scope="col">Kommentar</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Typed Array')}}</td>
+ <td>{{Spec2('Typed Array')}}</td>
+ <td>Ersetzt durch ECMAScript 6.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-arraybuffer-constructor', 'ArrayBuffer')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Initiale Definition im ECMA Standard. Spezifiziert, dass <code>new</code> benötigt wird.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-arraybuffer-constructor', 'ArrayBuffer')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
+
+
+
+<p>{{Compat("javascript.builtins.ArrayBuffer")}}</p>
+
+<h2 id="Kompatibilitätshinweis">Kompatibilitätshinweis</h2>
+
+<p>Seit ECMAScript 2015 müssen <code>ArrayBuffer</code> Konstruktor mit einem {{jsxref("Operators/new", "new")}} Operator konstruiert werden. Einen <code>ArrayBuffer</code> Konstruktor als Funktion aufzurufen ohne <code>new</code> ab sofort einen {{jsxref("TypeError")}} erheben.</p>
+
+<pre class="brush: js example-bad">var dv = ArrayBuffer(10);
+// TypeError: Einen eingebauten ArrayBuffer-Konstruktor
+// ohne new aufzurufen ist nicht erlaubt.</pre>
+
+<pre class="brush: js example-good">var dv = new ArrayBuffer(10);</pre>
+
+<h2 id="Siehe_auch">Siehe auch</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays">JavaScript typed arrays</a></li>
+ <li>{{jsxref("SharedArrayBuffer")}}</li>
+</ul>
diff --git a/files/de/web/javascript/reference/global_objects/arraybuffer/isview/index.html b/files/de/web/javascript/reference/global_objects/arraybuffer/isview/index.html
new file mode 100644
index 0000000000..f00f471fb3
--- /dev/null
+++ b/files/de/web/javascript/reference/global_objects/arraybuffer/isview/index.html
@@ -0,0 +1,89 @@
+---
+title: ArrayBuffer.isView()
+slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView
+tags:
+ - ArrayBuffer
+ - JavaScript
+ - Method
+ - TypedArrays
+translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView
+---
+<div>{{JSRef}}</div>
+
+<p>Die <code><strong>ArrayBuffer.isView()</strong></code> Methode gibt <code>true</code> zurück, wenn <code>arg</code> eines der <code>ArrayBuffer</code> Views ist, so wie <a href="/de/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">getyptes Array Objekte</a> oder eine {{jsxref("DataView")}}; andernfalls <code>false</code>.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/arraybuffer-isview.html")}}</div>
+
+
+
+<h2 id="Syntax">Syntax</h2>
+
+<pre class="syntaxbox"><code>ArrayBuffer.isView(<var>arg</var>)</code></pre>
+
+<h3 id="Parameter">Parameter</h3>
+
+<dl>
+ <dt><code>arg</code></dt>
+ <dd>Der Parameter, der überprüft wird.</dd>
+</dl>
+
+<h3 id="Rückgabewert">Rückgabewert</h3>
+
+<p><code>true</code>, wenn der gegebene Parameter ist einer der <code>ArrayBuffer</code> Views; andernfalls <code>false</code>.</p>
+
+<h2 id="Beispiele">Beispiele</h2>
+
+<pre class="brush: js">ArrayBuffer.isView(); // false
+ArrayBuffer.isView([]); // false
+ArrayBuffer.isView({}); // false
+ArrayBuffer.isView(null); // false
+ArrayBuffer.isView(undefined); // false
+ArrayBuffer.isView(new ArrayBuffer(10)); // false
+
+ArrayBuffer.isView(new Uint8Array()); // true
+ArrayBuffer.isView(new Float32Array()); // true
+ArrayBuffer.isView(new Int8Array(10).subarray(0, 3)); // true
+
+var buffer = new ArrayBuffer(2);
+var dv = new DataView(buffer);
+ArrayBuffer.isView(dv); // true
+</pre>
+
+<h2 id="Spezifikationen">Spezifikationen</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spezifikation</th>
+ <th scope="col">Status</th>
+ <th scope="col">Kommentar</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Typed Array')}}</td>
+ <td>{{Spec2('Typed Array')}}</td>
+ <td>Ersetzt in ECMAScript 2015.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES2015', '#sec-arraybuffer.isview', 'ArrayBuffer.isView')}}</td>
+ <td>{{Spec2('ES2015')}}</td>
+ <td>Initiale Definition im ECMA Standard.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-arraybuffer.isview', 'ArrayBuffer.isView')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
+
+
+
+<p>{{Compat("javascript.builtins.ArrayBuffer.isView")}}</p>
+
+<h2 id="Siehe_auch">Siehe auch</h2>
+
+<ul>
+ <li><a href="/de/docs/Web/JavaScript/Typed_arrays" title="en/JavaScript typed arrays">JavaScript typed arrays</a></li>
+</ul>
diff --git a/files/de/web/javascript/reference/global_objects/arraybuffer/prototype/index.html b/files/de/web/javascript/reference/global_objects/arraybuffer/prototype/index.html
new file mode 100644
index 0000000000..b287e0712c
--- /dev/null
+++ b/files/de/web/javascript/reference/global_objects/arraybuffer/prototype/index.html
@@ -0,0 +1,68 @@
+---
+title: ArrayBuffer.prototype
+slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype
+tags:
+ - ArrayBuffer
+ - JavaScript
+ - Property
+translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer
+---
+<div>{{JSRef}}</div>
+
+<p>Die <strong><code>ArrayBuffer.prototype</code></strong> Eigenschaft repräsentiert den Prototyp für das {{jsxref("ArrayBuffer")}} Objekt.</p>
+
+<div>{{js_property_attributes(0,0,0)}}</div>
+
+<h2 id="Beschreibung">Beschreibung</h2>
+
+<p><code>ArrayBuffer</code> Instanzen erben von <code>ArrayBuffer.prototype</code>. Wie bei allen Konstruktoren, kann der Prototype des Konstruktorobjekts geändert werden, um Änderungen für alle <code>ArrayBuffer</code> Instanzen zu übernehmen.</p>
+
+<h2 id="Eigenschaften">Eigenschaften</h2>
+
+<dl>
+ <dt>ArrayBuffer.prototype.constructor</dt>
+ <dd>Spezifiziert die Funktion, die das Prototypeobjekt erstellt. Der Initialwert ist der eingebaute Standard-<code>ArrayBuffer</code>-Konstruktor.</dd>
+ <dt>{{jsxref("ArrayBuffer.prototype.byteLength")}} {{readonlyInline}}</dt>
+ <dd>Die größe, in Bytes, des Arrays. Dieser wird bei der Erstellung des Arrays ermittelt und kan nicht geändert werden.</dd>
+</dl>
+
+<h2 id="Methoden">Methoden</h2>
+
+<dl>
+ <dt>{{jsxref("ArrayBuffer.prototype.slice()")}}</dt>
+ <dd>Gibt einen neuen <code>ArrayBuffer</code> zurück, welcher eine Kopie der Bytes des eigentlichen <code>ArrayBuffer</code> einthält. Die Kopie geht von <code>begin</code> (inklusiv) bis <code>end</code> (exclusiv). Wenn einer der Werte negativ ist, referenziert er auf den Index vom Ende des Arrays an und nicht vom Beginn des Arrays.</dd>
+</dl>
+
+<h2 id="Spezifikationen">Spezifikationen</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spzifikation</th>
+ <th scope="col">Status</th>
+ <th scope="col">Kommentar</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-arraybuffer.prototype', 'ArrayBuffer.prototype')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Initiale Definition.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-arraybuffer.prototype', 'ArrayBuffer.prototype')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
+
+
+
+<p>{{Compat("javascript.builtins.ArrayBuffer.prototype")}}</p>
+
+<h2 id="Siehe_auch">Siehe auch</h2>
+
+<ul>
+ <li>{{jsxref("ArrayBuffer")}}</li>
+</ul>
diff --git a/files/de/web/javascript/reference/global_objects/arraybuffer/slice/index.html b/files/de/web/javascript/reference/global_objects/arraybuffer/slice/index.html
new file mode 100644
index 0000000000..f149d2322b
--- /dev/null
+++ b/files/de/web/javascript/reference/global_objects/arraybuffer/slice/index.html
@@ -0,0 +1,88 @@
+---
+title: ArrayBuffer.prototype.slice()
+slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/slice
+tags:
+ - ArrayBuffer
+ - JavaScript
+ - Method
+ - Prototype
+translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/slice
+---
+<div>{{JSRef}}</div>
+
+<p>Die <code><strong>slice()</strong></code> Methode gibt einen neuen <code>ArrayBuffer</code> zurück, wessen Inhalt eine Kopie der <code>ArrayBuffer</code> Bytes von <code>begin</code> (inklusiv) bis <code>end</code> (exklusiv) ist.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/arraybuffer-slice.html")}}</div>
+
+
+
+<h2 id="Syntax">Syntax</h2>
+
+<pre class="syntaxbox">arraybuffer.slice(begin[, end])</pre>
+
+<h3 id="Parameter">Parameter</h3>
+
+<dl>
+ <dt><code>begin</code></dt>
+ <dd>0-basierter Byteindex an welchem slice <code>slice</code> mit dem zuschneiden beginnt.</dd>
+</dl>
+
+<dl>
+ <dt><code>end</code></dt>
+ <dd>Byteindex bevor <code>slice</code> das zuschneiden beendet. Wenn end nicht angegeben ist, wird der neue <code>ArrayBuffer</code> alle Bytes von <code>begin</code> des <code>ArrayBuffer</code> enthalten.<span id="result_box" lang="de"><span> Der durch die Anfangs- und Endwerte angegebene Bereich wird an den gültigen Indexbereich für das aktuelle Array gebunden.</span> <span>Wenn die berechnete Länge des neuen ArrayBuffers negativ wäre, wird er auf 0 gesetzt.</span></span></dd>
+</dl>
+
+<h3 id="Rückgabewert">Rückgabewert</h3>
+
+<p>Ein neues <code>ArrayBuffer</code> Objekt.</p>
+
+<h2 id="Beschreibung">Beschreibung</h2>
+
+<p>Die <code>slice</code> Methode kopiert bis zum Byteindex <code>end</code> Parameter, der nicht enthalten ist. Wenn <code>begin</code> oder <code>end</code> negativ ist, referenziert dieser zum Index vom Ende der Array, im Gegensatz zum Anfang des Arrays</p>
+
+<h2 id="Beispiele">Beispiele</h2>
+
+<h3 id="Einen_ArrayBuffer_kopieren">Einen <code>ArrayBuffer</code> kopieren</h3>
+
+<pre class="brush: js">var buf1 = new ArrayBuffer(8);
+var buf2 = buf1.slice(0);
+</pre>
+
+<h2 id="Spezifikationen">Spezifikationen</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spezifikation</th>
+ <th scope="col">Status</th>
+ <th scope="col">Kommentar</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Typed Array')}}</td>
+ <td>{{Spec2('Typed Array')}}</td>
+ <td>Ersetzt in EMCAScript 6.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-arraybuffer.prototype.slice', 'ArrayBuffer.prototype.slice')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Initiale Definition im ECMA Standard.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-arraybuffer.prototype.slice', 'ArrayBuffer.prototype.slice')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
+
+
+
+<p>{{Compat("javascript.builtins.ArrayBuffer.slice")}}</p>
+
+<h2 id="Siehe_auch">Siehe auch</h2>
+
+<ul>
+ <li>{{jsxref("ArrayBuffer")}}</li>
+</ul>
diff --git a/files/de/web/javascript/reference/global_objects/arraybuffer/transfer/index.html b/files/de/web/javascript/reference/global_objects/arraybuffer/transfer/index.html
new file mode 100644
index 0000000000..3004da98bf
--- /dev/null
+++ b/files/de/web/javascript/reference/global_objects/arraybuffer/transfer/index.html
@@ -0,0 +1,84 @@
+---
+title: ArrayBuffer.transfer()
+slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer/transfer
+tags:
+ - ArrayBuffer
+ - Experimental
+ - JavaScript
+ - Method
+ - Reference
+ - TypedArrays
+translation_of: Archive/Web/JavaScript/ArrayBuffer.transfer
+---
+<div>{{JSRef}} {{SeeCompatTable}}</div>
+
+<p>Die statische <code><strong>ArrayBuffer.transfer()</strong></code> Funktion gibt einen neuen <code>ArrayBuffer</code> mit dem Inhalt von <code>oldBuffer</code>. Je nachdem, wei die <code>newByteLength</code> gesetzt ist, werden die Daten abgeschnitten oder erweitert. Wenn <code>newByteLength</code> nicht gesetzt ist, wird die <code>byteLength</code> von <code>oldBuffer</code> benutzt. Diese Operation bringt <code>oldBuffer</code> in einen detached Status.</p>
+
+<h2 id="Syntax">Syntax</h2>
+
+<pre class="syntaxbox">ArrayBuffer.transfer(oldBuffer [, newByteLength]);</pre>
+
+<h3 id="Parameter">Parameter</h3>
+
+<dl>
+ <dt><code>oldBuffer</code></dt>
+ <dd>Ein {{jsxref("ArrayBuffer")}} Objekt von dem die Daten transferiert werden.</dd>
+ <dt>newByteLength</dt>
+ <dd>Die Bytelänge des neuen <code>ArrayBuffer</code> Objektes.</dd>
+</dl>
+
+<h3 id="Rückgabewert">Rückgabewert</h3>
+
+<p>Ein neues <code>ArrayBuffer</code> Objekt.</p>
+
+<h2 id="Beschreibung">Beschreibung</h2>
+
+<p>Die <code>ArrayBuffer.transfer()</code> Methode erlaubt es ein <code>ArrayBuffer</code> zu vergrößern und zu detachen. Die Möglichkeit ein <code>ArrayBuffer</code> zu vergrößern ohne es zu kopieren, hat den Vorteil, dass es viel schneller für große Buffer ist (ähnlich wie bei realloc). Die Möglichkeit, dass ein <code>ArrayBuffer</code> detachet wird, gibt dem Entwickler die explizite Kontrolle über das freigeben des internen Speichers. Dieses vermeidet das Entfernen aller Referenzen und das Warten auf die Garbage Collection.</p>
+
+<h2 id="Beispiele">Beispiele</h2>
+
+<pre class="brush: js">var buf1 = new ArrayBuffer(40);
+new Int32Array(buf1)[0] = 42;
+
+var buf2 = ArrayBuffer.transfer(buf1, 80);
+buf1.byteLength; // 0 but if you use the polyfill then the value is still 40
+buf2.byteLength; // 80
+new Int32Array(buf2)[0]; // 42
+
+var buf3 = ArrayBuffer.transfer(buf2, 0);
+buf2.byteLength; // 0 but if you use the polyfill then the value is still 80
+buf3.byteLength; // 0
+</pre>
+
+<h2 id="Polyfill">Polyfill</h2>
+
+<p>Für Browser, die die Funktion nicht nativ unterstützen, gibt es die Möglichkeit folgenden Quelltext am Anfang eines Skriptes einzufügen, um die Funktion <code>transfer()</code> zu benutzen. Diese Funktion ist nicht exakt die in der API beschriebene, weil Browser, die die Funktion unterstützen, direkten Zugriff auf die C++ Funktion <code>realloc()</code> haben, welche die Länge des Speichers erhöht und nur eine Kopie anlegt, wenn es nötig ist. Im Gegensatz dazu kopiert der folgende Pollyfill alles immer in neuen Speicher. Diese Funktion transferiert die Daten jedoch von einem <code>ArrayBuffer</code> zu einem anderen.</p>
+
+<pre class="brush: js">if (!ArrayBuffer.transfer) {
+ ArrayBuffer.transfer = function(source, length) {
+  if (!(source instanceof ArrayBuffer))
+  throw new TypeError('Source must be an instance of ArrayBuffer');
+ if (length &lt;= source.byteLength)
+ return source.slice(0, length);
+ var sourceView = new Uint8Array(source),
+  destView = new Uint8Array(new ArrayBuffer(length));
+  destView.set(sourceView);
+ return dest.buffer;
+ };
+}</pre>
+
+<h2 id="Spezifikationen">Spezifikationen</h2>
+
+<p>Ist in keiner aktuellen Spezifikation enthalten, wird aber <a href="https://esdiscuss.org/topic/sept-23-2014-meeting-notes">in der Zukunft für ECMA-262 geplant</a>.</p>
+
+<h2 id="Browserkompatibilität"><a id="Browser_compatibility" name="Browser_compatibility">Browserkompatibilität</a></h2>
+
+
+
+<p>{{Compat("javascript.builtins.ArrayBuffer.transfer")}}</p>
+
+<h2 id="Siehe_auch">Siehe auch</h2>
+
+<ul>
+ <li><a href="/de/docs/Web/JavaScript/Typed_arrays" title="en/JavaScript typed arrays">JavaScript getypte Arrays</a></li>
+</ul>