티스토리 뷰

반응형

데이터 타입

데이터 타입은 값의 종류다. 자바스크립트의 모든 값은 데이터 타입을 가진다.

자바스크립트(ES6)는 7개의 데이터 타입을 제공한다.

 

구분 데이터 타입 설명
원시 타입 숫자(number) 타입 숫자, 정수와 실수 구분 없이 하나의 숫자 타입만 존재
문자열(string) 타입 문자열
불리언(boolean) 타입 논리적 참(true)과 거짓(false)
undefined 타입 var 키워드로 선언된 변수에 암묵적으로 할당되는 값
null 타입 값이 없다는 것을 의도적으로 명시할 때 사용하는 값
심법(symbol) 타입 ES6에서 추가된 7번째 타입
객체 타입 객체, 함수, 배열 등


숫자 타입

- 정수와 실수를 구분하지 않는다.

- 자바스크립트는 모든 수를 실수로 처리한다.

- 정수, 실수, 2진수, 8진수, 16진수 리터럴은 모두 메모리에 배정밀도 64비트 부동소수점 형식의 2진수로 저장

- 자바스크립트는 2진수, 8진수, 16진수를 위한 데이터 타입을 모두 제공하지 않아 값을 참조하면 모두 10진수로 해석된다.

 

var binary = 0b01000001; //2진수
var octal = 0o101; //8진수
var hex - 0x41; //16진수

//표기법만 다를 뿐 모두 같은 값이다.
console.log(binary); 	//65
console.log(octal);		//65
console.log(hex);		//65
console.log(binary === octal);	//true
console.log(octal === hex);		//true

 

문자열 타입

- 0개 이상의 16비트 유니코드 문자(UTF-16)의 집합

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

  감싸는 이유 : 키워드, 토큰과 구분하기 위해

 

var string;
string = '문자열';
string = "문자열";
string = `문자열`;

- 자바스크립트의 문자열은 원시타입이며 변경 불가능한 값이다.

 

템플릿 리터럴

- ES6부터 도입된 새로운 문자열 표기법

- 백틱(' ')을 사용해 표현

- 멀티라인 문자열, 표현식 삽입이 있다.

 

불리언 타입

- 논리적 참, 거짓(true, false)

 

undefined 타입

- undefined 타입은 undefined가 유일하다.

- var로 선언한 변수는 암묵적으로 undefined로 초기화가 된다.

 

null 타입

- null 타입은 null이 유일하다.

- 대소문자 혼동 말자

- nudefined와 달리 변수에 값이 없음을 의도적으로 명시할 때 사용

 

Symbol 타입

- ES6에 추가된 타입

- 변경 불가능한 원시 타입

- 중복 값없음

 

Object 타입

- 자바스크립트의 데이터 타입은 크게 원시 타입과 객체 타입으로 나뉜다.

- 자바스크립트는 객체 기반 언어

 


데이터 타입의 필요성

1. 데이터 타입에 의한 메모리 공간의 확보와 참조

2. 데이터 타입에 의한 값의 해석

 

데이터 타입이 필요한 이유

  • 값을 저장할 때 확보해야 하는 메모리 공간의 크기를 결정하기 위해
  • 값을 참조할 때 한 번에 읽어 들여야 할 메모리 공간의 크기를 결정하기 위해
  • 메모리에서 읽어 들인 2진수를 어떻게 해석할지 결정하기 위해

동적 타이핑

자바스크립트의 변수는 선언이 아닌 할당에 의해 타입이 결정되고 재할당에 의해 변수의 타입이 언제든지 동적으로 변할 수 있다.

 

 

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함