var integer = 10; // 정수
var double = 10.12; // 실수
var negative = -20; // 음의 정수
var binary = 0b01000001;
var octal = 0o101;
var hex = 0x41;
console.log(binary, octal, hex); // 65 65 65
console.log(1 === 1.0); // true
<숫자 타입의 특별한 3가지 값>
// 1. Infinity : 양의 무한대
console.log(10/0);
// 2. -Infinity : 음의 무한대
console.log(10/-0);
// 3. NaN : 산술 연산 불가
console.log(1 * 'String');
var string;
string = '문자열';
string = "문자열";
string = `문자열`;
var template = `Template literal`;
console.log(template);
var str = 'Hello
world.'; // SyntaxError
// 일반 문자열
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';
// ES5 문자열 연결
console.log('My name is ' + first + ' ' + last + '.'); // My name is Ung-mo Lee.
// ES6 문자열 연결
console.log(`My name is ${first} ${last}.`); // My name is Ung-mo Lee.
var foo = true;
console.log(foo); // true
foo = false;
console.log(foo); // false
var foo = 'Lee';
foo = null;
console.log(foo); // null
console.log(document.querySelector('.myClass'); //null
var key = Symbol('key');
console.log(typeof key); // symbol
var obj = {};
obj[key] = 'value';
console.log(obj[key]); // value
데이터 타입이 필요한 이유는,
var foo;
console.log(typeof foo); // undefined
foo = 3;
console.log(typeof foo); // number
foo = 'Hello';
console.log(typeof foo); // string
foo = true;
console.log(typeof foo); // boolean
foo = null;
console.log(typeof foo); // object
foo = Symbol();
console.log(typeof foo); // symbol
foo = {};
console.log(typeof foo); // object
foo = [];
console.log(typeof foo); // object
foo = function() {}
console.lo(typeof foo); // function