아무튼 개발
article thumbnail
반응형

데이터 타입

자바스크립트의 모든 값은 데이터 타입을 지니며, 7개의 데이터 타입이 존재한다.

모두 원시 타입과 객체 타입으로 나누어진다.

 

데이터 타입이 필요한 이유는

  • 값 저장 시, 확보할 메모리 공간의 크기 결정
  • 값 참조 시, 한 번에 읽어 들일 메모리 공간의 크기 결정
  • 메모리의 2진수를 어떻게 해석할지를 결정

이다.

 

자바스크립트는 자바, C와 같은 정적 타입 언어와 다르게 동적 타입 언어이다.

따라서 값을 할당하는 "시점"에 변수의 타입이 동적으로 결정된다.

또한 추후에 원하는 타입으로 자유롭게 변경 가능하다. (재할당)

 

변수는 타입을 갖지 않으며, 값이 타입을 갖는다.

값에 의해 변수의 타입이 동적으로 결정된다고 할 수 있다!

 


 

오늘은 데이터 타입 중에서 원시 타입을 알아보겠다.

 

원시 타입 (primitive type)

숫자

정수, 실수 모두 하나의 같은 숫자 타입을 사용한다.

 

문자열

문자열은 작은따옴표(''), 큰따옴표(""), 백틱(``)으로 텍스트를 감싼다.

자바스크립트 엔진은 따옴표로 감싸지 않으면 키워드 혹은 식별자와 같은 토큰으로 인식한다.

 

- 공백

문자열의 경우, 일반 문자열과 템플릿 리터럴에 따라 공백을 입력하는 방법이 다르다.

  • 일반 문자열

이스케이프 시퀀스(escape sequence)를 사용해야 한다.

const string = '안녕\n하세요\n!!';
  • 템플릿 리터럴

템플릿 리터럴 내에서는 줄 바꿈이 허용되기 때문에 모든 공백이 그대로 적용된다.

const string = `안녕
    하세요
    !!`;

 

boolean

논리적 값을 나타내는 true와 false 값을 지닌다.

 

undefined

undefiend 값이다.

var로 선언된 변수에 암묵적으로 할당된다. 변수를 선언한 이후 값을 할당하지 않으면 undefined가 반환된다.

개발자가 의도적으로 할당하는 것보다, 자바스크립트 엔진이 변수를 초기화할 때 사용된다.

 

null

null 값이다.

값이 없음을 개발자가 의도적으로 명시할 때 사용한다.

자바스크립트는 대소문자를 구별하기 때문에 Null or NULL로 작성하는 것은 해당되지 않는다.

 

Symbol

ES6에서 추가된 타입으로, 변경이 불가능한 원시 타입의 값이다.

다른 값과 중복되지 않는 유일한 값이며 Symbol 함수를 통해 생성한다.

반응형
profile

아무튼 개발

@릴쥬

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...