--- title: Mutable slug: Glossary/Mutable tags: - CodingScripting - Glossary - NeedsContent ---
"Mutable"은 변경 가능(가변)한 변수의 유형입니다. JavaScript에서, 원시 값이 아닌 객체와 배열만이 mutable입니다.
(변수 이름이 새 값을 가리키도록 "만들 수 있지만" 이전 값은 여전히 메모리에 유지됩니다. 따라서 Garbage collection이 필요합니다.)
가변 객체는 객체가 생성된 후 상태를 수정할 수 있는 객체입니다.
불변 객체는 일단 객체가 생성되면 상태를 변경할 수 없는 객체입니다.
문자열과 숫자는 불변입니다. 예제를 보고 이해해볼까요?
var immutableString = "Hello"; // 위의 코드에서는 문자열 값을 가진 새 개체가 생성됩니다. immutableString = immutableString + "World"; // 우리는 지금 기존 값에 "World" 를 추가하고 있습니다.
문자열 값을 사용하여 "immutableString" 을 추가하면 다음 이벤트가 발생합니다.: