JavaScript Object.freeze()

Definizione e uso

Object.freeze() Il metodo viene utilizzato per prevenire qualsiasi modifica all'oggetto.

In modalità non strict,Object.freeze() Il metodo fallisce in silenzio.

In modalità strict,Object.freeze() Il metodo solleva un TypeError.

Gli oggetti congelati sono readonly. Non è consentito modificare, aggiungere o eliminare attributi.

Puoi usare Object.isFrozen() Metodi per controllare se un oggetto è congelato.

Metodi correlati:

Object.preventExtensions() Consentito modificare, ma bloccare l'aggiunta di attributi.

Object.seal() Permette la modifica, ma blocca l'aggiunta e la rimozione delle proprietà.

Object.freeze() Blocca la modifica, l'aggiunta e la rimozione delle proprietà.

Object.isExtensible() Se l'oggetto è estensibile, restituisce true.

Object.isSealed() Se l'oggetto è sigillato, restituisce true.

Object.isFrozen() Se l'oggetto è congelato, restituisce true.

Esempio

Esempio 1

"use strict"
// Creazione dell'oggetto
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// Congela l'oggetto
Object.freeze(person);
// Questo genererà un errore
person.age = 51;

Prova da solo

Esempio 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// Questo genererà un errore:
fruits.push("Kiwi");

Prova da solo

Sintassi

Object.freeze(object)

Parametro

Parametro Descrizione
object Obbligatorio. Oggetto da congelare.

Valore di ritorno

Tipo Descrizione
Object Oggetto congelato.

Supporto del browser

Object.freeze() È una caratteristica di ECMAScript5 (ES5).

A partire dal luglio 2013, tutti i browser moderni supportano completamente ES5 (JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
Settembre 2012 Settembre 2012 Aprile 2013 Luglio 2012 Luglio 2013