구분 | 데이터 타입 | 설명 |
---|---|---|
원시 타입 | number | 숫자 (정수/실수 구분 X) |
string | 문자열 | |
boolean | true/false | |
undefined | var | |
null | 값이 없음을 의도적으로 명시 | |
symbol | ES6에서 새롭게 추가됨 | |
객체 타입 | 객체/함수/배열 등 원시 타입이 아닌 타입 |
자바스크립트는 모든 수를 실수로 처리한다.
정수, 실수, 2진수, 8진수, 16진수 리터럴 모두 64비트 부동소수점 형식의 2진수로 저장됨
const binary = 0b01000001; // 2진수
const octal = 0o101 // 8진수
const hex = 0x41; // 16진수
console.log(binary); // 65
console.log(octal); // 65
console.log(hex); // 65
console.log(octal === hex); //true
Infinity, -Infinity, NaN
console.log(10 / 0); // Infinity
console.log(10 / -0); // -Infinity
console.log(1 * 'String'); // NaN (대소문자 구분)
ES6부터 새로운 문자열 표기법 등장
1. 멀티라인 문자열
// 일반 문자열 (1)
var str1 = 'Hello // SyntaxError: Invalid or unexpected token
world.';
// 일반 문자열 (2)
var str2 = 'Hello\\nworld'; // escape sequence 사용
// ES6 템플릿 리터럴
var template = `Hello
world.`; // escape sequence 사용 X. 모든 공백 허용
2. 표현식 삽입
const username = 'eunji'
// ES5 문자열 연결
console.log('My name is' + username); // My name is eunji
// ES6 표현식 삽입
console.log(`My name is ${username}`); // My name is eunji