JavaScript Immutability

객체를 불변하게 만들기 (Object.freeze)

수업소개

객체를 변경하지 못하도록 하는 방법인 Object.freeze를 소개합니다. 

 

 

 

강의1

코드

var o1 = {name:'kim', score:[1,2]}
Object.freeze(o1);
Object.freeze(o1.score);
o1.name = 'lee';
o1.city = 'seoul';
o1.score.push(3);
console.log(o1);

 

 

 

강의2

object.freeze와 const의 차이점을 소개합니다. 

코드

const o1 = {name:'kim'}
Object.freeze(o1);
const o2 = {name:'lee'}
// o1 = o2;
o1.name = 'park';
console.log(o1);

 

 

 

댓글

댓글 본문
  1. labis98
    2021082 완료!!! 항상 좋은 강의 감사합니다~~~!!! 저도 나중에 egoing 님 처럼 제 지식을 사회에 환원할 수 있도록 열심히 공부하겠습니다.
  2. jeisyoon
    2020.06.06 객체를 불변하게 만들기(Object,freeze) - OK

    const 은 이름을 불변, Object.freeze 는 속성의 값을 불변
    두가지 기능을 모두 사용하면 Object를 완벽하게 보호할 수 있음
  3. 으라촤촤촤
    제대로 이해한지 모르겠네요.

    모든 변수나 객체는 주소값을 저장하고 있다.
    const는 변수나 객체가 가리키는(저장한) 주소 값을(레퍼런스 를) 수정할 수 없게 막는다.

    freeze는 저장하고 있는 값의 변경을 막는다.
  4. testrestbestwest
    감사합니다.
    const는 이름, 값 변경을 막고, freeze는 값 변경을 막습니다.
  5. JJ Lee
    const과 freeze가 어떤 차이가 있을까 궁금했는데 감사합니다. 불변(가변) 함수(객체)에 대한 이해가 없으면 의도된데로 동작하지 않은 코드가 왜 그런지를 이해하기가 쉽지 않죠!
graphittie 자세히 보기