자 일단 원시타입이 뭔데? 자 간단하게 설명해보자. 원시타입은 프로그래밍 언어에서 기본적으로 제공되는 데이터 유형이며. 이것은 다른 데이터 유형으로 분류되지 않는 가장 기본적인 유형으로, 보통 숫자, 텍스트 또는 논리값과 같은 간단한 값을 나타내게 된다. 원시타입은 일반적으로 메모리에 직접 저장되며, 객체가 아니라는 점이 중요하다. 자 객체가 아니다?? 그것은 무슨 뜻일까? "객체가 아니다"는 원시타입이 다른 데이터 유형인 객체와는 다르게 메모리에 직접적으로 저장되는 데이터 유형이라는 것을 의미한다. 객체는 데이터와 그 데이터를 조작하기 위한 메서드(method)들을 포함하는 복합적인 개념이며, 일반적으로 참조(reference)로 저장된다. 이에 반해, 원시타입은 데이터 값 자체가 메모리에 저장된다 자 이제 참조라는 단어가 나왔다. 이건 간단하게 코드로 보자 :) let arr = [ '1' , '2' , '3' , '4' ] let str = '1234' arr [ 1 ] = '3' str [ 1 ] = '3' console . log ( arr . join ( '' )) // 1334 console . log ( str ) // 1234 자, 위의 값에서 arr은 변경이 되었지만, str은 변경 되지 않았다. arr [ 1 ] = '3' // 해당 라인의 의미는 arr 의 1 번 인덱스의 값을 '3' 으로 바꾸어라 라는 의미이다 . // 해당 라인의 의미는 str[1] 의 평가가 끝나서 // "2" = '3' 이 되게 된다 . str [ 1 ] = '3' 레퍼런스의 참조는 평가를 진행하는 경우, 메모리 주소의 참조가 되게 된다. 원시타입은 무엇을 해도, 값일 뿐이라서, 값을 가지고만 핸들링하게 된다. 자바스크립트 세상의 원시타입