📝 1. 서론`let a = 'abc'; let b = 'abc'` 일 때, a와 b는 같은 주소를 참조하나요? 스터디에서 JavaScript의 string 타입을 이야기하던 날, 위와 같은 질문을 받았습니다. Java에서는 스트링 풀(String Pool)을 이용해서 동일한 문자열을 재사용하는데, JavaScript에서도 비슷한 개념이 있는지를 묻는 질문이었습니다. 위 질문에 대한 답을 찾는 과정이 이번 글의 주제입니다. 미리 정답부터 말하자면, ‘그렇다’ 입니다. V8 엔진에서는 String Table 구조를 이용하여 동일한 문자열을 한 번만 저장하는 최적화가 이루어집니다. 이 글에서는 먼저 V8 엔진을 사용하는 환경에서 동일한 문자열을 가지는 두 변수가 실제로 같은 주소를 참조하는지 확인하고, ..