JavaScript Object.freeze()

Definition og brug

Object.freeze() Metoden bruges til at forhindre enhver ændring af objektet.

I ikke-strengt tilstand:Object.freeze() Metoden vil lydløst mislykkes.

I strengt tilstand:Object.freeze() Metoden vil kaste en TypeError.

Frosne objekter er skrivebeskyttede. Ændringer, tilføjelser eller sletning af egenskaber er ikke tilladt.

Man kan bruge Object.isFrozen() Metoder til at kontrollere om et objekt er frossent.

Relaterede metoder:

Object.preventExtensions() Tillad ændringer, men forbyd tilføjelse af egenskaber.

Object.seal() Tillader ændringer, men forbyder tilføjelser og sletning af egenskaber.

Object.freeze() Forbyder ændringer, tilføjelser og sletning af egenskaber.

Object.isExtensible() Returnerer true, hvis objektet er udvideligt.

Object.isSealed() Returnerer true, hvis objektet er indhegget.

Object.isFrozen() Returnerer true, hvis objektet er fryset.

Eksempel

Eksempel 1

"use strict"
// Opret objekt
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// Fryse objekt
Object.freeze(person);
// Dette vil kaste en fejl
person.age = 51;

Prøv det selv

Eksempel 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// Dette vil kaste en fejl:
fruits.push("Kiwi");

Prøv det selv

Syntaks

Object.freeze(object)

Parameter

Parameter Beskrivelse
object Obligatorisk. At fryse objektet.

Returværdi

Type Beskrivelse
Object Fryset objekt.

Browserstøtte

Object.freeze() Er en funktion af ECMAScript5 (ES5).

Fra juli 2013 har alle moderne browsere fuldt støtte til ES5 (JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
September 2012 September 2012 April 2013 Juli 2012 Juli 2013