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

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

type을 check하는 여러가지 방법

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

1. 원시타입 (Primitive Types)

원시타입의 특징은 가리키고 있는 값이 변경 불가능하다는 것입니다.

let str1 = 'hello';
str1[0] // 0번째 값을 불러옵니다.
str1[1] = 'w' // 바꿔보려 시도하지만, 바뀌지 않습니다.

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

1.1 문자열 (String)

문자열은 작은따옴표(')큰따옴표(")로 둘러싼 일련의 문자를 가르킵니다.

1.1.1 문자열의 특징

  1. 문자열은 순서가 있습니다. 순서는 0부터 시작하며 띄어쓰기도 문자로 취급합니다. 이 순서를 index라고 부르며 아래와 같이 각괄호([ ])를 사용해 특정 순서에 위치한 글자를 가져올 수 있습니다.

    let text = 'hello world'
    
    text[0] h
    text[1] e
    text[2] l
    text[3] l
    text[4] o
    text[5]
    text[6] w
    text[7] o
    text[8] r
    text[9] l
    text[10] d
  2. 문자열은 length 라는 속성이 있습니다. length 속성을 통해 문자열의 길이를 구할 수 있습니다.

let myPassword = "qwer123!@#";
console.log(myPassword.length);
// 10
  1. 한번 만들어진 문자열은 절대 변하지 않습니다. 이러한 성질을 불변(immutable) 이라고 합니다. 아래 예시에서도 알 수 있듯 어떠한 문자열 메소드도 문자열 자체를 변경하지 않습니다. 새로운 문자열을 반환할 뿐입니다.
let 불멸자 = "immortal";
불멸자[0] = 'l';
console.log(불멸자);
// immortal

불멸자.toUpperCase();
console.log(불멸자);
// immortal