JavaScript Object.freeze()

정의와 사용법

Object.freeze() 객체에 대한 모든 변경을 방지하는 메서드.

non-strict 모드에서는,Object.freeze() 메서드는 조용히 실패합니다.

straigt 모드에서는,Object.freeze() 메서드는 TypeError를 투척합니다.

언제든지 속성을 추가하거나 수정할 수 없습니다.

사용할 수 있습니다. Object.isFrozen() 객체가 얼려졌는지 확인하는 메서드.

관련 메서드:

Object.preventExtensions() 수정 가능하지만 속성 추가를 차단합니다.

Object.seal() 수정은 허용하지만 속성을 추가하거나 제거하는 것을 방지합니다.

Object.freeze() 속성을 수정하거나 추가하거나 제거하는 것을 방지합니다.

Object.isExtensible() 객체가 확장 가능하다면 true를 반환합니다.

Object.isSealed() 객체가 마법의 상자를 가지고 있다면 true를 반환합니다.

Object.isFrozen() 객체가凍결되어 있다면 true를 반환합니다.

예제

예제 1

"use strict"
// 객체 생성
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// 객체를凍결합니다
Object.freeze(person);
// 이는 오류를 발생시킵니다
person.age = 51;

직접 테스트해 보세요

예제 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// 이는 오류를 발생시킵니다:
fruits.push("Kiwi");

직접 테스트해 보세요

문법

Object.freeze(object)

매개변수

매개변수 설명
object 필수입니다.凍結할 객체

반환 값

형식 설명
Object 凍結된 객체

브라우저 지원

Object.freeze() ECMAScript5 (ES5)의 특성입니다.

2013년 7월부터 모든 현대 브라우저는 ES5 (JavaScript 2009)를 완전히 지원합니다:

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
2012년 9월 2012년 9월 2013년 4월 2012년 7월 2013년 7월