[JavaScript] JS_개념 및 동작원리 2. Operators

jungeundelilahLEE·2020년 9월 13일
0

# 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. Operators

   2-1. Assignment (할당)
   2-2. Comparison (비교)
   2-3. Arithmetic (산술)
   2-4. Logical (논리)
   2-5. String (문자열)
   2-6. Conditional (ternary) (삼항조건)

  • 산술 문자결합? 대입 증감 비교 논리 삼항조건 연산자우선순위
  • 할당 비교 산술 비트 논리 문자열 삼항조건 쉼표 단항(delete typeof void ) 관계(in instancdof)

2-1. Assignment (할당연산자)

: 우항에 있는 피연산자의 값을, 좌항에 있는 변수에 할당

할당 연산자설명의미예 (x=3; y=10;)
=할당x = y
+=덧셈x = x + y13
-=뺄셈x = x - y-7
*=곱셈x = x * y30
/=나눗셈x = x / y0.3
%=나머지x = x % y3
**=지수x = x ** y59,049
&=비트ANDx = x & y2
^=비트XORx = x ^ y9
I=비트ORx = x I y11

2-2. Arithmetic (산술)

: 피연산자를 대상으로 수학적 계산 / 불가능할 시 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

2-3. Comparison (비교)

: 피연산자를 비교하여 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;
<=~보다 작거나 같음좌변의 피연산자 보다 우변의 피연산자가 작거나 같으면 참을 반환

2-4. Logical (논리)

: 반드시 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 () {}

2-5. String (문자열)

: 연결 연산자 (+)는 두 문자열 값을 연결하고,두 문자열이 합쳐진 새로운 문자열을 반환

2-6. Conditional (ternary) (삼항조건)

문법 : 조건식 ? 값1 : 값2
- 값1 : 조건식이 true일 때 반환하는 값
- 값2 : 조건식이 false일 때 반환하는 값

profile
delilah's journey

0개의 댓글