불변 객체

    [JavaScript] 변수에 대한 불변성 정리(const, defineProperty)

    Const 변수를 불변하게 만들기 위해서 대표적으로 사용되는 것은 const(상수)다. const name = 'loose'; console.log(name); // loose 하지만 const에 아래와 같이 객체 형태의 값을 넣으면 객체 내부의 속성은 변경이 가능해진다. const x = {}; x.foo = 'bar'; console.log(x); // {foo : 'bar'} x.foo = 'bar2'; console.log(x); // {foo : 'bar2'} x = {}; // 불가능 위와같이 x에 foo라는 속성을 추가하거나 수정하는 것은 가능하다. 하지만 x를 재정의 하는 것은 불가능하다. 이것은 자바에서 Final과 같다. 자바에서도 Final을 쓰면 변수를 상수로 만들 수 있지만 Fin..