Search code examples
javascriptecmascript-6

Object.freeze() vs const


Object.freeze() seems like a transitional convenience method to move towards using const in ES6.

Are there cases where both take their place in the code or is there a preferred way to work with immutable data?

Should I use Object.freeze() until the moment all browsers I work with support const then switch to using const instead?


Solution

  • const and Object.freeze are two completely different things.

    const applies to bindings ("variables"). It creates an immutable binding, i.e. you cannot assign a new value to the binding.

    Object.freeze works on values, and more specifically, object values. It makes an object immutable, i.e. you cannot change its properties.