JavaScript Object.freeze()

Määrittely ja käyttö

Object.freeze() Metodi käytetään estämään objektiin tehdyn minkä tahansa muutoksen.

Epätarkassa tilassa,Object.freeze() Metodi epäonnistuu hiljaisesti.

Tarkassa tilassa,Object.freeze() Metodi heittää TypeError-tyypin virheen.

Jäädytetyt objektit ovat luettavissa. Muokkaaminen, lisääminen tai poistaminen ominaisuuksia ei ole sallittua.

Voit käyttää Object.isFrozen() Metodi tarkistaa, onko objekti jäädytetty.

Liittyvät metodit:

Object.preventExtensions() Sallitaan muokata, mutta estetään ominaisuuksien lisääminen.

Object.seal() Sallii muutokset, mutta estää lisäykset ja poistot ominaisuuksista.

Object.freeze() Estää muutokset, lisäykset ja poistot ominaisuuksista.

Object.isExtensible() Jos objekti on laajennettavissa, palauttaa true.

Object.isSealed() Jos objekti on suljettu, palauttaa true.

Object.isFrozen() Jos objekti on jäädytetty, palauttaa true.

Esimerkki

Esimerkki 1

"use strict"
// Luo objekti
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// Jäädytä objekti
Object.freeze(person);
// Tämä aiheuttaa virheen
person.age = 51;

Kokeile itse

Esimerkki 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// Tämä aiheuttaa virheen:
fruits.push("Kiwi");

Kokeile itse

Syntaksi

Object.freeze(object)

Parametri

Parametri Kuvaus
object Välttämätön. Jäädytettävä objekti.

Palautusarvo

Tyyppi Kuvaus
Object Jäädytetty objekti.

Selaimen tuki

Object.freeze() On ECMAScript5 (ES5) ominaisuus.

Tammikuusta 2013 lähtien kaikki nykyaikaiset selaimet tukevat täysin ES5 (JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
syyskuu 2012 syyskuu 2012 huhtikuu 2013 heinäkuu 2012 heinäkuu 2013