
1) 변수가 선언되기 전에 메모리 공간을 미리 할당하는 것
console.log(name);
var name = 'Jake'
// 결과 값 -> undefined
// 변수가 선언되기 전이지만 선언된 것과 같은 현상 발생
var name2;
console.log(name2);
// 결과 값 -> undefined
2) let과 const도 호이스팅 현상이 발생하지만 미리 막아줌
var대신 let과 const를 사용해야 함
1) 산술 연산자
+, -, *, /, %
String 데이터에 연산하면 NaN(Not a Number) 출력
2) 증감자
++, -- (전위연산, 후위연산)
3) 할당 연산자
+=, -=, *=, /=, %=
4) 비교 연산자
값의 비교(사실상 쓰지 않음)
==, !=
값과 타입의 비교 (타입까지 같이 비교함)
===, !==
5) 대소관계 비교 연산자
<, >, >=, <=
6) 삼항 조건 연산자
조건 ? B : C -> 조건이 참이면 B, 아니면 C 반환
7) 논리 연산자
A && B (두 조건 모두 true면 true 반환)
A || B (하나만 true여도 true 반환, 순서 상관 없음)
8) 단축평가 (계속 이어서 사용 가능)
&&를 사용했을 때 좌측이 true면 우측 값 반환
&&를 사용했을 때 좌측이 false면 좌측값 반환
||를 사용했을 때 좌측이 true면 좌측값 반환
||를 사용했을 때 좌측이 false면 우측값 반환
console.log(true && '제이크');
console.log(false && '제이크');
console.log(true || '제이크');
console.log(false || '제이크');
// **결과값**
//제이크
//false
//true
//제이크
9) 지수 연산자
' ** '
10**3 = 10의 3승
2**2 = 2의 2승
10) null 연산자
' ?? ' : 좌측값이 undefined 혹은 null이면 우측값 할당
let name;
console.log(name);
name = name ?? '제이크'
console.log(name);
// **결과값**
// undefined
//제이크