diff options
Diffstat (limited to 'files/de/web/javascript/reference/fehler/read-only/index.html')
| -rw-r--r-- | files/de/web/javascript/reference/fehler/read-only/index.html | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/files/de/web/javascript/reference/fehler/read-only/index.html b/files/de/web/javascript/reference/fehler/read-only/index.html deleted file mode 100644 index bb56305880..0000000000 --- a/files/de/web/javascript/reference/fehler/read-only/index.html +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: 'TypeError: "x" is read-only' -slug: Web/JavaScript/Reference/Fehler/Read-only -tags: - - Errors - - JavaScript - - TypeError -translation_of: Web/JavaScript/Reference/Errors/Read-only ---- -<div>{{jsSidebar("Errors")}}</div> - -<h2 id="Fehlermeldung">Fehlermeldung</h2> - -<pre class="syntaxbox">TypeError: "x" is read-only (Firefox) -TypeError: 0 is read-only (Firefox) -TypeError: Cannot assign to read only property 'x' of #<Object> (Chrome) -TypeError: Cannot assign to read only property '0' 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>Die globale Variable oder Objekteigenschaften werden als nur lesbare Eigenschaften definiert (technisch wird das mit der <a href="/de/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty#Writable_attribute"><code>writable</code> Eigenschaft</a> erreicht).</p> - -<p>Der Fehler tritt nur im <a href="/en-US/docs/Web/JavaScript/Reference/Strict_mode">strict mode</a> auf. Im normalen Modus wird eine Zuweisung still ignoriert.</p> - -<h2 id="Beispiele">Beispiele</h2> - -<h3 id="Nicht_valide_Fälle">Nicht valide Fälle</h3> - -<p>Nur lesbare Eigenschaften sind nicht sehr weit verbreitet, aber sie können mit {{jsxref("Object.defineProperty()")}} oder {{jsxref("Object.freeze()")}} erstellt werden.</p> - -<pre class="brush: js example-bad">'use strict'; -var obj = Object.freeze({name: 'Elsa', score: 157}); -obj.score = 0; // TypeError - -'use strict'; -Object.defineProperty(this, 'LUNG_COUNT', {value: 2, writable: false}); -LUNG_COUNT = 3; // TypeError - -'use strict'; -var frozenArray = Object.freeze([0, 1, 2]); -frozenArray[0]++; // TypeError -</pre> - -<p>Zudem gibt es ein paar standard Eigenschaft in JavaScript, die nicht überschrieben werden können. Da währen zum Beispiel mathematische Konstanten.</p> - -<pre class="brush: js example-bad">'use strict'; -Math.PI = 4; // TypeError -</pre> - -<p>Die globale Variable <code>undefined</code> ist auch nur lesbar, sodass der berüchtigte Fehler "undefined is not a function" nicht wie folgt umgangen werden kann:</p> - -<pre class="brush: js example-bad">'use strict'; -undefined = function() {}; // TypeError: "undefined" is read-only -</pre> - -<h3 id="Valide_Fälle">Valide Fälle</h3> - -<pre class="brush: js example-good">'use strict'; -var obj = Object.freeze({name: 'Score', points: 157}); -obj = {name: obj.name, points: 0}; // replacing it with a new object works - -'use strict'; -var LUNG_COUNT = 2; // a `var` works, because it's not read-only -LUNG_COUNT = 3; // ok (anatomically unlikely, though) -</pre> - -<h2 id="Siehe_auch">Siehe auch</h2> - -<ul> - <li>{{jsxref("Object.defineProperty()")}}</li> - <li>{{jsxref("Object.freeze()")}}</li> - <li><a href="https://www.answers.com/Q/Which_animals_have_three_lungs">"Which animals have three lungs?" on answers.com</a></li> -</ul> |
