diff options
| author | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:45:38 +0100 |
|---|---|---|
| committer | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:45:38 +0100 |
| commit | 4ab365b110f2f1f2b736326b7059244a32115089 (patch) | |
| tree | c3c7c0219f728ade49a78c238c51cc0c8d06ebd6 /files/de/web/javascript/reference/fehler/non_configurable_array_element | |
| parent | 8260a606c143e6b55a467edf017a56bdcd6cba7e (diff) | |
| download | translated-content-4ab365b110f2f1f2b736326b7059244a32115089.tar.gz translated-content-4ab365b110f2f1f2b736326b7059244a32115089.tar.bz2 translated-content-4ab365b110f2f1f2b736326b7059244a32115089.zip | |
unslug de: move
Diffstat (limited to 'files/de/web/javascript/reference/fehler/non_configurable_array_element')
| -rw-r--r-- | files/de/web/javascript/reference/fehler/non_configurable_array_element/index.html | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/files/de/web/javascript/reference/fehler/non_configurable_array_element/index.html b/files/de/web/javascript/reference/fehler/non_configurable_array_element/index.html deleted file mode 100644 index 771f480dda..0000000000 --- a/files/de/web/javascript/reference/fehler/non_configurable_array_element/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: 'TypeError: can''t delete non-configurable array element' -slug: Web/JavaScript/Reference/Fehler/Non_configurable_array_element -tags: - - Error - - Errors - - JavaScript - - TypeError -translation_of: Web/JavaScript/Reference/Errors/Non_configurable_array_element ---- -<div>{{jsSidebar("Errors")}}</div> - -<h2 id="Fehlermeldung">Fehlermeldung</h2> - -<pre class="syntaxbox">TypeError: can't delete non-configurable array element (Firefox) -TypeError: Cannot delete property '2' of [object Array] (Chrome) -</pre> - -<h2 id="Fehlertyp">Fehlertyp</h2> - -<p>{{jsxref("TypeError")}}</p> - -<h2 id="Was_ist_falsch_gelaufen">Was ist falsch gelaufen?</h2> - -<p>Es wurde versucht die <a href="/de/docs/Web/JavaScript/Reference/Global_Objects/Array/length#Verkürzung_eines_Arrays">Länge eines Arrays zu kürzen</a> obwohl eines der Arrayelemente nicht Konfigurierbar(<a href="/de/docs/Web/JavaScript/Data_structures#Properties">non-configurable</a>) ist. Beim Kürzen eines Arrays werden die Elemente hinter der neuen Länge gelöscht, was in dieser Situation nicht funktioniert.</p> - -<p>Das <code>configurable</code> Attribut kontrolliert, ob eine Eigenschaft von einem Objekt gelöscht werden kann und seine Attribute (anders als <code>writable</code>) geändert werden können.</p> - -<p>Eigenschaften von einem Objekt, dass von einem <a href="/de/docs/Web/JavaScript/Reference/Global_Objects/Array#Syntax">Array-Initialisierer</a> erstellt wurden, sind konfigurierbar. Immer, wenn zum Beispiel {{jsxref("Object.defineProperty()")}} eingesetzt wird, ist die Eigenschaft nicht ohne weiteres konfigurierbar.</p> - -<h2 id="Beispiele">Beispiele</h2> - -<h3 id="Nicht_konfigurierbare_Eigenschaften_mit_Object.defineProperty_erstellen">Nicht konfigurierbare Eigenschaften mit <code>Object.defineProperty</code> erstellen</h3> - -<p>Die {{jsxref("Object.defineProperty()")}} Funktion erstellt nicht konfiguriertbare Eigenschaften wenn sie nicht extra als konfigurierbar spezifiziert sind.</p> - -<pre class="brush: js example-bad">var arr = []; -Object.defineProperty(arr, 0, {value: 0}); -Object.defineProperty(arr, 1, {value: "1"}); - -arr.length = 1; -// TypeError: can't delete non-configurable array element -</pre> - -<p>Die Elemente müssen als Konfigurierbar eingestellt werden, wenn das Array später im Quelltext gekürzt werden soll.</p> - -<pre class="brush: js example-good">var arr = []; -Object.defineProperty(arr, 0, {value: 0, configurable: true}); -Object.defineProperty(arr, 1, {value: "1", configurable: true}); - -arr.length = 1; -</pre> - -<h3 id="Ein_Array_versiegeln_(seal)">Ein Array versiegeln (<code>seal</code>)</h3> - -<p>Die {{jsxref("Object.seal()")}} Funktion markiert alle existirenden Elements als nicht Konfugurierbar.</p> - -<pre class="brush: js example-bad">var arr = [1,2,3]; -Object.seal(arr); - -arr.length = 1; -// TypeError: can't delete non-configurable array element -</pre> - -<p>Man muss den Aufruf von {{jsxref("Object.seal()")}} entfernen oder ein Kopie des Arrays machen. Im fall einer Kopie führt das Kürzen des kopierten Arrays zu keiner Änderung des Original Arrays.</p> - -<pre class="brush: js example-good">var arr = [1,2,3]; -Object.seal(arr); - -// Copy the initial array to shorten the copy -var copy = Array.from(arr); -copy.length = 1; -// arr.length == 3 -</pre> - -<h2 id="Siehe_auch">Siehe auch</h2> - -<ul> - <li><a href="/de/docs/Web/JavaScript/Data_structures#Properties">[[Configurable]]</a></li> - <li>{{jsxref("Array.length")}}</li> - <li>{{jsxref("Object.defineProperty()")}}</li> - <li>{{jsxref("Object.seal()")}}</li> -</ul> |
