# INDEX
1. Values & Data type
2. Operators
2-1. Assignment (할당)
2-2. Arithmetic (산술)
2-3. Comparison (비교)
2-4. Logical (논리)
2-5. String (문자열)
2-6. Conditional (ternary) (삼항조건)
3. Control flow
4. Scope & Hoisting
5. Object & Array
6. This
7. Prototype & Inheritance
8. Function
9. Callback function
10. Closuer
11. Class
12. Others
2-1. Assignment (할당)
2-2. Comparison (비교)
2-3. Arithmetic (산술)
2-4. Logical (논리)
2-5. String (문자열)
2-6. Conditional (ternary) (삼항조건)
: 우항에 있는 피연산자의 값을, 좌항에 있는 변수에 할당
할당 연산자 | 설명 | 의미 | 예 (x=3; y=10;) |
---|---|---|---|
= | 할당 | x = y | |
+= | 덧셈 | x = x + y | 13 |
-= | 뺄셈 | x = x - y | -7 |
*= | 곱셈 | x = x * y | 30 |
/= | 나눗셈 | x = x / y | 0.3 |
%= | 나머지 | x = x % y | 3 |
**= | 지수 | x = x ** y | 59,049 |
&= | 비트AND | x = x & y | 2 |
^= | 비트XOR | x = x ^ y | 9 |
I= | 비트OR | x = x I y | 11 |
: 피연산자를 대상으로 수학적 계산 / 불가능할 시 NaN 반환
산술 연산자 | 설명 | 의미 | 예 (x=3; y=10;) |
---|---|---|---|
% | 나머지 | 이항연산자// 두 피연산자를 나눈 후 나머지를 반환 | 3 |
++ | 증가 | 단항연산자// 피연산자에 1을 더함 1) ++[피연산자] : 피연산자에 1을 더한 값을 반환 2) [피연산자]++ : 피연산자에 1을 더하기 전 값을 반환 | 1) x=3; console.log(++x); //4 console.log(x); //4 2) x=3; console.log(x++); //3 console.log(x); //4 |
-- | 감소 | 단항연산자// 피연산자로부터 1을 뺌 1) --[피연산자] : 피연산자에 1을 뺀 값을 반환 2) [피연산자] : 피연산자에 1을 빼기 전 값을 반환 | 1) y=10; console.log(--y); //9 console.log(y); //9 2) y=10; console.log(y--); //3 console.log(y); //2 |
+ | 숫자화 | 단항연산자// 피연산자가 숫자값이 아니라면 피연산자를 숫자로 변환하기를 시도함 | 1) +3; // 3 2) +"3"; // 3 3) +true; // 1 4) "willy"; // NaN |
- | 단항부정 | 단항연산자// 피연산자의 반대값을 반환 | -3; // 3 |
: 피연산자를 비교하여 boolean값으로 반환
비교 연산자 | 설명 | 의미 | true를 반환하는 예 (var a = 3; var b = 4) |
---|---|---|---|
== | 동등 | 피연산자들이 같으면 참을 반환 | 3 == a; "3" == a; "3" == 3; |
!= | 부등 | 피연산자들이 다르면 참을 반환 | |
=== | 일치 | 피연산자들이 갖고, 피연산자들이 같은 형태인 경우 참을 반환 | 3 === a; |
!== | 불일치 | 피연산자들이 다르거나 형태가 다른 경우 참을 반환 | "3" !== a; "3" !== 3; |
> | ~보다 큰 | 좌변의 피연산자보다 우변의 피연산자가 크면 참을 반환 | b > a; "12" > 2 12 > 2 |
>= | ~보다 크거나 같음 | 좌변의 피연산자 보다 우변의 피연산자가 크거나 같으면 참을 반환 | |
< | ~보다 작음 | 좌변의 피연산자 보다 우변의 피연산자가 작으면 참을 반환 | a < b; "2" < 12; 2 < 12; |
<= | ~보다 작거나 같음 | 좌변의 피연산자 보다 우변의 피연산자가 작거나 같으면 참을 반환 |
: 반드시 boolean값을 반환하는 것은 아니며, true, false와 함께 많이 사용함
연산자 우선순위 MDN
논리 연산자 | 설명 | 의미 | 예 |
---|---|---|---|
II | 논리합 (or) | - 연산자를 기준으로 왼쪽부터 Truthy 값을 찾음 - Truthy값을 찾은 경우, 연산을 중지하고 해당 값을 반환 - 마지막까지 Truthy값을 찾지 못한 경우, 마지막에 위치한 값을 반환 | |
&& | 논리곱 (and) | - 연산자를 기준으로 왼쪽부터 Falsy값 을 찾음 - Falsy값을 찾은 경우, 연산을 중지하고 해당 값을 반환 - 마지막까지 Falsy값을 찾지 못한 경우, 마지막에 위치한 값을 반환 | |
! | 부정 (not) | - !뒤에 오는 값을 true로 변환할 수 있으면, false를 반환하고 그렇지 않은 경우 true를 반환 - [Falsy 값] : 0 / -0 / false / undefined / null / NaN / "" / '' / `` - [Truthy 값의 예] : [1, 2, 3] / [] / { name: 'hello' } / {} / 'abc' / ' ' / 300 / -10 / function foo () {} |
: 연결 연산자 (+)는 두 문자열 값을 연결하고,두 문자열이 합쳐진 새로운 문자열을 반환
문법 : 조건식 ? 값1 : 값2
- 값1 : 조건식이 true일 때 반환하는 값
- 값2 : 조건식이 false일 때 반환하는 값