실험 1 — 불변성은 진짜 차단되는가 (코드를 수정해서 실행해보세요)
코드
실험 2 — === 비교: 같은 내용, 다른 결과 (코드를 수정해서 실행해보세요)
코드
실험 3 — 문자열 인터닝 (node --allow-natives-syntax 실행 결과)
node --allow-natives-syntax examples/ch11/02-interning-compact.js
=== 문자열 인터닝 실험 === 리터럴 'hello' : true 같은 리터럴 (변수2) : true 'hel' + 'lo' : false 'hello world'.slice : false JSON.parse : true === 그런데 === 비교는? === literal1 === dynamic : true literal1 === sliced : true literal1 === parsed : true
%IsInternalizedString()은 V8 내부 함수라 브라우저에서 실행할 수 없습니다.
위 결과는 Node.js에서 실제 실행한 출력입니다. 인터닝 여부가 달라도 === 비교는 항상 정확합니다.