티스토리 뷰
데이터 타입
데이터 타입은 값의 종류다. 자바스크립트의 모든 값은 데이터 타입을 가진다.
자바스크립트(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진수를 어떻게 해석할지 결정하기 위해
동적 타이핑
자바스크립트의 변수는 선언이 아닌 할당에 의해 타입이 결정되고 재할당에 의해 변수의 타입이 언제든지 동적으로 변할 수 있다.
좋아요는 로그인하지 않아도 누를 수 있습니다!
'WEB > 자바스크립트' 카테고리의 다른 글
[모던 자바스크립트 Deep Dive] 8장 : 제어문 - JS (0) | 2021.08.21 |
---|---|
[모던 자바스크립트 Deep Dive] 7장 : 연산자 - JS (2) | 2021.08.21 |
[모던 자바스크립트 Deep Dive] 5장 : 표현식과 문 - JS (0) | 2021.08.21 |
[모던 자바스크립트 Deep Dive] 4장 : 변수 - JS (0) | 2021.08.21 |
[모던 자바스크립트 Deep Dive] 3장 : 자바스크립트 개발 환경과 실행 방법 - JS (0) | 2021.08.21 |
- Total
- Today
- Yesterday
- py
- OS
- Web
- 연습문제
- 우종정
- BFS
- JS
- 자바스크립트
- 구현
- 정답
- 프로그래머스
- 파이썬
- 해답
- 알고리즘
- 정리
- 정렬
- 자바
- 문자열
- 쉽게 배우는 자바 프로그래밍
- C++
- 그리디
- 풀이
- Python
- 쉽게배우는자바프로그래밍
- java
- 쉽게배우는
- 운영체제
- 답
- 백준
- CPP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |