
자바스크립트(ES6)는 7개의 데이터 타입을 제공
7개의 데이터 타입은 원시 타입과 객체 타입으로 분류 가능
Infinity: 양의 무한대-Infinity: 음의 무한대NaN: 산술 연산 불가(not-a-number)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
// 숫자 타입은 모두 실수 처리
console.log(1 === 1.0) // true
console.log(4 / 2); // 2
console.log(3 / 2); // 1.5
// 숫자 타입의 세가지 특별한 값
console.log(10 / 0); // Infinity
console.log(10 / -0); // -Infinity
console.log(1 * 'String'); // NaN
// 문자열 타입
var string;
string = '문자열'; // 작은따옴표
string = "문자열"; // 큰따옴표
string = `문자열`; // 백틱
string = '작은따옴표로 감싼 문자열 내의 "큰따옴표"는 문자열로 인식';
string = "큰따옴표로 감싼 문자열 내의 '작은따옴표'는 문자열로 인식";
줄바꿈(개행)이 허용되지 않음
var str = 'Hello
word.';
// SyntaxError: Invalid or unexpected token
// 이스케이프 시퀀스 사용
var template = '<ul>\n\t<li><a href="#">Home</a></li>\n</ul>';
템플릿 리터럴
var template = `<ul>
<li><a href="#">Home</a></li>
</ul>
`
'+'를 사용해 문자열을 연결 할 수 있음
${ }으로 표현식을 감싸면 평가 결과가 문자열이 아니더라도 문자열로 타입이 강제로 변환되어 삽입
var first = 'Ung-mo';
var last = 'Lee';
// 문자열 연결
console.log('My name is ' + first + ' ' + last + '.'); // My name is Ung-mo Lee.
// 표현식 삽입
console.log(`My name is ${first} ${last}`); // My name is Ung-mo Lee.
논리적 참, 거짓을 나타내는 true와 false
var foo = true;
console.log(foo); // true
foo = false;
console.log(foo); // false
undefined가 유일undefined 보단 null을 사용var foo;
console.log(foo); // undefinedvar foo = 'Lee';
foo = null;// 심벌 값 생성
var key = Symbol('key');
console.log(typeof key); // symbol
// 객체 생성
var obj = {};
// 심벌을 프로퍼티 키로 사용
obj[key] = 'value';
console.log(obj[key]); // value