자바스크립트는 대소문자를 구별
텍스트 데이터를 나타내는 데 사용
' ' " " 백틱으로 텍스트를 감싼다
여러줄로 나타낼때는 멀티라인 문자열
은 백틱으로 허용
var first = 'Ung-mo';
var last = '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
변수에 값이 없다
는 것을 의미할 때는 null
을 할당해야 한다.
변수는 선언, 함수는 정의
변경 불가능한 원시타입이며 유일무이한 값이다
var a = Symbol('abc') //label
//undefined
var b = Symbol('abc')
//undefined
a === b
//false
자바스크립트의 데이터 타입은 크게 원시 타입과 객체 타입으로 분류되는데,
중요한것은 자바스크립트는객체 기반
의 언어이며, 자바스크립트를 이루고 있는 거의 모든 것이객체
이다
var num = 100;
var a = num;
var b = num;
0x123 : 100,
0x111 : 식별자 a, 값은 0x123
0x112 : 식별자 b, 값은 0x123
console.log(a === b) //true
a와 b에 저장된 주소는 다르지만, 값을 할당한 주소는 같다!!
메모리 주소를 하나만 저장하여, 불변값을 유지!!
변수는 타입을 갖지 않는다. 하지만, 값
은 타입
을 갖는다.
따라서 값에 의해 변수의 타입이 결정된다고 생각하면 된다.
자바스크립트는
동적
으로 타입을 변경할 수 있다
즉, 자바스크립트의 변수는 선언이 아닌,할당
에 의해 타입이 결정되며
재 할당으로 변수의 타입을변경
할 수 있다
이를 동적 타이핑이라고 하며,
자바스크립트는 동적 타입 언어라고 한다
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.log(typeof foo); // function