Index

3. Type

Type 이란 ?

자바스크립트의 타입(Type)은 한국말로 자료형으로 해석되기도 합니다. 변수의 타입은 다양한 데이터를 용도에 맞게 쓰기 위해서 사용합니다. 예를 들어 1234와 같은 숫자는 number type으로, ‘jeju’와 같은 문자는 string type으로 나누어 각각의 데이터 형에 맞는 여러 기능들을 지원합니다. 컴퓨터에 저장되는 값은 둘 다 2진수임에도 두개의 + 연산은 다른 결과를 가지게 됩니다. 이처럼 변수의 타입은 컴퓨터에게 해당 데이터가 앞으로 어떻게 처리될지를 정하게 합니다.

type을 확인하기 위해서는 typeof라는 함수를 사용하기도 하지만, Array와 같은 자료형이 object로 나오기 때문에 Object.prototype.toString.call 을 사용하여 보다 정확한 type을 알아내는 것을 권합니다. 타입 체크에 보다 자세한 내용은 아래 내용을 참고하여 주세요.

type을 check하는 여러가지 방법

타입은 단순한 데이터를 저장하는 원시타입, 그리고 객체로서 저장되는 참조타입으로 크게 구별할 수 있습니다.

<aside> 💡 보통 프로그래밍 언어에서는 변수의 자료형과 함께 변수를 선언하지만 자바스크립트는 자료형을 함께 쓸 필요는 없습니다.

</aside>

String str = new String("Java"); // Java의 변수 선언식
System.out.println(str);

3.1 원시타입 (Primitive Types)

원시타입의 특징은 값이 변경 불가능하며 값을 변수에 저장하거나 전달할 때 값에 의한 전달를 한다는 것입니다. 때문에 원시 값을 다른 변수에 할당 할때는 값의 참조가 저장되는 것이 아닌, 값 자체(가리키고 있는 값을 따라가서 실제 메모리에 저장된 주소)가 복사되어 저장됩니다.

let str1 = 'hello';
let str2 = str1;
console.log(str2); // 'hello'

str1 = 'world';
console.log(str2); // str2에 할당된 값은 여전히 'hello' 입니다.

string, number, bigint, boolean, undefined, symbol, null이 원시타입에 속합니다.

<aside> 🧐 원시타입은 str2입장에서 str1의 값을 바꿀 수는 없습니다. 참조타입은 str2입장에서 str1의 값을 바꿀 수 있습니다.

</aside>

1. 문자열 (String)