데이터 타입은 크게 원시 타입과 객체 타입으로 구분한다. 왜 두가지로 분리할까? 이유는 원티 타입과 객체 타입이 근본적으로 다르기 때문이다. 3가지 측면에서 다르게 볼 수 있는데 원시 타입의 값, 즉 원시 값은 변경 불가능한 값이다. 객체(참조) 타입의 값, 즉 객체는 변경 가능한 값이다. 원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장되는데, 이에 비해 객체를 변수에 할당하면 변수에 참조 값이 저장된다. 원시 값을 갖는 변수를 다른 변수에 할당시 원시 값이 복사되어 전달되고 이를 값에 의한 전달이라 한다. 이에 비해 객체를 가르키는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 전달된다. 이를 참조에 의한 전달이라 한다. 원시 값 변경 불가능한 값 원시 타입의 값, 즉..
불변성
종류 구분 데이터 타입 설명 원시 타입 Number 숫자를 나타내며, 정수와 실수 구분 없이 하나의 숫자 타입만 존재합니다. String 문자열을 나타내며, 문자의 시퀀스로 이루어져 있습니다. Boolean 논리적 값(true 또는 false)을 나타냅니다. Undefined 변수가 값 없이 선언되었을 때 기본적으로 할당되는 값입니다. Null 어떤 값이 의도적으로 비어있음을 나타냅니다. Symbol ES6에서 추가된 타입으로, 고유하고 수정 불가능한 데이터 타입으로 주로 객체 속성의 키로 사용됩니다. BigInt Number 타입으로 표현할 수 있는 범위를 넘어서는 큰 정수를 표현할 때 사용됩니다. ES2020에서 도입되었습니다. 객체 타입 Object 키와 값으로 구성된 속성들의 집합입니다. 배열, ..