const name = 'sangbin' // name에 'sangbin'이라는 값 자체가 할당됨
name = 'kong' // error => const는 상수이기 때문에 다른 값으로 변경 불가
참조값(function, array, object)을 할당할 경우 값이 저장되는 것이 아닌, 주소가 할당됨
const obj = { name: 'sangbin' } // obj에 { name: 'sangbin' } 객체가 할당된 것이 아니라, **객체의 주소가 할당됨**
obj.name = 'kong' // obj의 주소값을 바꾼것이 아니라, 저장된 주소 안의 객체의 값을 변경했기 때문에 가능함
obj = { name: 'kong' } // error => obj에 다른 객체의 주소값을 재할당 했기때문에 불가능
obj = 'dahyun' // error => 저장된 주소를 다른 원시값으로 재할당도 불가능
array도 마찬가지
const arr = [1,2,3] // arr에 [1,2,3] 배열 자체가 할당된 것이 아닌, [1,2,3] **배열의 주소가 할당됨**
arr[0] = 10 // arr의 주소값을 바꾼것이 아닌, 저장된 주소 안의 배열의 값을 변경했기 때문에 가능
arr = [2,3,4] // error => arr에 다른 배열의 주소를 재할당 하기때문에 불가능
const arr1 = [1,2,3]
const arr2 = [1,2,3]
console.log(arr1 === arr2) // false