diff options
Diffstat (limited to 'files/ca/web/javascript/reference/global_objects/object/isfrozen/index.html')
-rw-r--r-- | files/ca/web/javascript/reference/global_objects/object/isfrozen/index.html | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/files/ca/web/javascript/reference/global_objects/object/isfrozen/index.html b/files/ca/web/javascript/reference/global_objects/object/isfrozen/index.html deleted file mode 100644 index 46c2e24be2..0000000000 --- a/files/ca/web/javascript/reference/global_objects/object/isfrozen/index.html +++ /dev/null @@ -1,182 +0,0 @@ ---- -title: Object.isFrozen() -slug: Web/JavaScript/Reference/Global_Objects/Object/isFrozen -translation_of: Web/JavaScript/Reference/Global_Objects/Object/isFrozen ---- -<div>{{JSRef}}</div> - -<p>El mètode <code><strong>Object.isFrozen()</strong></code> determina si un objecte està congelat.</p> - -<h2 id="Sintaxi">Sintaxi</h2> - -<pre class="syntaxbox"><code>Object.isFrozen(<var>obj</var>)</code></pre> - -<h3 id="Paràmetres">Paràmetres</h3> - -<dl> - <dt><code>obj</code></dt> - <dd>L'objecte que es comprovarà si està congelat o no.</dd> -</dl> - -<h2 id="Descripció">Descripció</h2> - -<p>Un objecte està congelat si i només si no és {{jsxref("Object.isExtensible()", "extensible", "", 1)}}, cap de les seves propietats és configurable, i cap de les seves propietats de dades (és a dir, propietats que no són <em>accessor</em> amb components getter o setter) that is, properties which are not accessor properties with getter or setter components) es poden escriure (modificar el seu valor).</p> - -<h2 id="Exemples">Exemples</h2> - -<pre class="brush: js">// Els objectes nous són extensibles, així que no estan congelats. -Object.isFrozen({}); // === false - -// Un objecte buit que no és extensible està congelat ja que no te propietats que trenquin les restriccions. -var vacuouslyFrozen = Object.preventExtensions({}); -Object.isFrozen(vacuouslyFrozen); // === true - -// Un objecte nou amb una propietat és extensible, i per tant no està congelat. -var oneProp = { p: 42 }; -Object.isFrozen(oneProp); // === false - -// Fer-lo no extensible no el fa congelat, -// perquè la propietat encara és configurable (i permet l'escriptura). -Object.preventExtensions(oneProp); -Object.isFrozen(oneProp); // === false - -// ...però, un altre cop, si eliminem la propietat ens trobem amb un objecte buit congelat. -delete oneProp.p; -Object.isFrozen(oneProp); // === true - -// Un objecte no extensible amb una propietat que no permeti l'escriptura però sí que es configurable no està congelat. -var nonWritable = { e: 'plep' }; -Object.preventExtensions(nonWritable); -Object.defineProperty(nonWritable, 'e', { writable: false }); // fer que la propietat no permeti l'escriptura -Object.isFrozen(nonWritable); // === false - -// Fer aquesta propietat no configurable fa que l'objecte estigui congelat -Object.defineProperty(nonWritable, 'e', { configurable: false }); // fer la propietat no configurable -Object.isFrozen(nonWritable); // === true - -// Un objecte no extensible amb una propietat no configurable però que si permeti l'escriptura tampoc està congelat. -var nonConfigurable = { release: 'the kraken!' }; -Object.preventExtensions(nonConfigurable); -Object.defineProperty(nonConfigurable, 'release', { configurable: false }); -Object.isFrozen(nonConfigurable); // === false - -// Canviar aquesta propietat per a que no permeti l'escriptura fa que l'objecte estigui congelat. -Object.defineProperty(nonConfigurable, 'release', { writable: false }); -Object.isFrozen(nonConfigurable); // === true - -// Un objecte amb una propietat accessor no extensible no està congelat. -var accessor = { get food() { return 'yum'; } }; -Object.preventExtensions(accessor); -Object.isFrozen(accessor); // === false - -// ...però si la propietat es fa no configurable l'objecte esdevé congelat. -Object.defineProperty(accessor, 'food', { configurable: false }); -Object.isFrozen(accessor); // === true - -// La forma més fàcil, però, d'aconseguir congelar un objecte és cridant el mètode Object.freeze al mateix objecte. -var frozen = { 1: 81 }; -Object.isFrozen(frozen); // === false -Object.freeze(frozen); -Object.isFrozen(frozen); // === true - -// Per definició, un objecte congelat no és extensible. -Object.isExtensible(frozen); // === false - -// També per definició, un objecte congelat està segellat. -Object.isSealed(frozen); // === true -</pre> - -<h2 id="Notes">Notes</h2> - -<p>A l'EcmaScript 5, si l'argument passat a aquest mètode no és un objecte (un valor primitiu), llençarà un <a href="https://developer.mozilla.org/ca/docs/Web/JavaScript/Referencia/Objectes_globals/TypeError" title="L'objecte TypeError representa un error quan el valor no és del tipus esperat."><code>TypeError</code></a>. A l'EcmaScript 6, un argument que no sigui un objecte serà tractat com si fós un objecte congelat ordinari, i simplement el retornarà.</p> - -<pre class="brush: js">Object.isFrozen(1); -// TypeError: 1 no és un objecte (codi EcmaScript 5) - -Object.isFrozen(1); -// true (codi EcmaScript 6) -</pre> - -<h2 id="Especificacions">Especificacions</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Especificació</th> - <th scope="col">Estat</th> - <th scope="col">Comentaris</th> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.2.3.12', 'Object.isFrozen')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td>Definició inicial. Implementat a JavaScript 1.8.5.</td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-object.isfrozen', 'Object.isFrozen')}}</td> - <td>{{Spec2('ES6')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilitat_amb_navegadors">Compatibilitat amb navegadors</h2> - -<div>{{CompatibilityTable}}</div> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Característica</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Suport bàsic</td> - <td>{{CompatChrome("6")}}</td> - <td>{{CompatGeckoDesktop("2.0")}}</td> - <td>{{CompatIE("9")}}</td> - <td>{{CompatOpera("12")}}</td> - <td>{{CompatSafari("5.1")}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Característica</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Suport bàsic</td> - <td>{{CompatUnknown}}</td> - <td>{{CompatUnknown}}</td> - <td>{{CompatUnknown}}</td> - <td>{{CompatUnknown}}</td> - <td>{{CompatUnknown}}</td> - <td>{{CompatUnknown}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="Vegeu_també">Vegeu també</h2> - -<ul> - <li>{{jsxref("Object.freeze()")}}</li> - <li>{{jsxref("Object.preventExtensions()")}}</li> - <li>{{jsxref("Object.isExtensible()")}}</li> - <li>{{jsxref("Object.seal()")}}</li> - <li>{{jsxref("Object.isSealed()")}}</li> -</ul> |