: 주어진 식을 계산하여 결과를 얻어내는 과정
1 + 2
: 피연산자가 2개이다.
+
: 두 값을 더한다.-
: 두 값을 뺀다.*
: 두 값을 곱한다./
: 두 값을 나눈다.: 피연산자가 1개이다.
🏷 피연산자의 값을 변경하는 부수효과가 있다
++
: 증가--
: 감소
- 피연산자
앞
에 위치한 증가/감소 연산자는 먼저 피연산자의 값을 증가/감소 시킨 후, 다른 연산을 수행한다.- 피연산자의
뒤
에 위치한 증가/감소 연산자는 먼저 다른 연산을 수행한 후 피연산자의 값을 증가/감소시킨다.
+
: 피연산자를 문자 자료형을 숫자 자료형으로 변환시킨다.-
: 피연산자를 문자 자료형을 숫자 자료형으로 변환시키며 -를 붙인다.예제 )
let a = '5' ; console.log ( -a ) ; // -5
%
: 앞의 값을 뒤의 값으로 나눈 나머지 값을 나타낸다.해설 :
%
은 나머지 연산자이므로 10을 3으로 나누면 나머지가 1이기 때문에 1로 출력이 된다.console.log(10 % 3) // 1
**
: 거듭제곱하는 연산자이다a**2 100
+=
: y+=x
= y=y+x
-=
: y-=x
= y=y-x
*=
: y*=x
= y=y*x
/=
: y/=x
= y=y/x
%=
: y%=x
= y=y%x
==
연산자와 ===
연산자 : 두 연산자 모두 양쪽의 값이 같은지 비교하는 연산자이다.==
은 왼쪽과 오른쪽의 값의 자료형과 상관없이 비교한다. 하지만 ===
은 왼쪽과 오른쪽의 값은 물론 자료형까지 비교한다.!=
연산자와 !==
연산자 : 위의 연산자의 부정 연산자이다.해설 ) a의 값은 숫자형(Number)이고 b의 값은 자료형(String)이다.
a==b
는 자료형을 비교하지 않기 때문에 두 값이 같은 자료형이라는 가정하에 같은 값이라고 출력한다. 하지만a===b
는 자료형까지 비교하기 때문에 숫자형 자료와 문자형 자료형이 같다고 보지 않아 false 값을 출력한다.
예시 )let a = 2 let b = '2' console.log(a == b) //true console.log(a === b) //false
1. NAN은 자신과 일치하지 않는 유일한 값이다.
NAN===NAN ; //false
2. 숫자 0에는 양의 0과 음의 0이 있는에이들을 비교하면 true를 반환한다.
📍
-0
과+0
은 동일하다고 평가한다.0===-0; //ture 0==-0; //true
<
와 >
: 값이 더 큰지 작은지 비교한다.<=
와 >=
: 값이 크거나같은지 작거나같은지 비교한다.||
: 비교하는 값 중에 하나만 true 값이면 결괏값은 true이다.OR 연산자는 첫번째 truty를 찾는다.
- 왼쪽에서 오른쪽으로 값을 평가한다.
- 첫번째 true 값을 찾으면 멈추고 true로 변환하기 전 원래 값을 반환한다.
- 모두 평가해도 false 이면 마지막 피연산자 값의 변환전 원래 값으로 반환한다.
alert( 1 || 0 ); // 1 (1은 truthy임) alert( null || 1 ); // 1 (1은 truthy임) alert( null || 0 || 1 ); // 1 (1은 truthy임) alert( undefined || null || 0 ); // 0 (모두 falsy이므로, 마지막 값을 반환함)
&&
: 비교하는 값이 모두 true인 경우에만 결괏값이 true이다.AND 연산자는 첫번째 falsy를 찾는다.
- 왼쪽에서 오른쪽으로 값을 평가한다.
- 첫번째 flase 값을 찾으면 멈추고 false로 변환하기 전 원래 값을 반환한다.
- 모두 평가해도 true 이면 마지막 피연산자 값의 변환전 원래 값으로 반환한다.
// 첫 번째 피연산자가 truthy이면, // AND는 두 번째 피연산자를 반환합니다. alert( 1 && 0 ); // 0 alert( 1 && 5 ); // 5 // 첫 번째 피연산자가 falsy이면, // AND는 첫 번째 피연산자를 반환하고, 두 번째 피연산자는 무시합니다. alert( null && 5 ); // null alert( 0 && "아무거나 와도 상관없습니다." ); // 0
!
: ture와 false를 반대로 뒤집어서 결괏값을 낸다.