[목차]
++
: 피연산자에 1을 더한다.--
: 피연산자에 1을 뺀다.
(단항 연산자는 오른쪽에서 왼쪽(=
가 있는 방향)으로 연결된다.)
[예제 A]
let num = 1
num++
console.log(num)
결과 2가 출력된다.
[예제 B]
num--
console.log(num)
결과 1이 출력된다.
(상위 코드로 인해 현재 num의 값이 2인데 1을 뺐기 때문)
[예제 C]
let num2 = 2
console.log(num2++)
출력 결과는 그대로 2이지만 오른쪽의 ++
가 입력 & 내제된 상태이다.
(X++는 값호출후 후증가)
여기에
console.log(++num2)
를 입력하면 4가 출력된다.
(num2++로 인해 3이 출력 대기된 상태. ++X는 선증가후 값호출)
[정리]
console.log(--num2) //3 (= num2 - 1)
console.log(num2++) //3(+1)
console.log(num2--) //4(-1)
console.log(num2++) //3(+1)
console.log(num2) //3(+1) = 4
- A += B : A = A + B
- A -= B : A = A - B
(+=
, -=
는 축약형 연산자)
let num3 = 5
num3 += 3
console.log(num3)
결과 5+3인 8이 출력.
num3 -= 5
console.log(num3)
이 역시 8-5인 3 출력.
>
,<
,>=
,=<
[일치 연산자]==
: 데이터의 값이 같다.===
: 데이터의 값과 타입이 모두 같다.
[불일치 연산자]!=
: 데이터의 값이 다르다.!==
: 데이터의 값 혹은 타입이 다르다.
(비교 연산자는 각각의 대소관계를 구분하며 =<
, =>
은 초과와 미만을 뜻한다. 그리고 프로그래밍에서 '같다'의 의미는 ==
로 나타낸다. (=
를 최소 2개 이상 붙여써야 한다))
자바스크립트의 데이터 타입에는 String
, Number
와 더불어 한 가지 더, Boolean
타입(논리형)이 있다.
(이 세 가지 타입을 모아서 '원시 타입(기본형)'이라고 한다.)
Boolean 타입은 숫자 1과 0으로 '참(True)'과 '거짓(False)'을 가르는데
당연히 1은 True, 0은 False를 뜻한다.
예를 들어,
5 > 3은 1(T),
3 > 5는 0(F)이다.
비교연산자를 사용하면 결과물을 Boolean 타입으로 자동 변환해서 출력한다.
console.log(1 > 2) //false
console.log(1 < 2) //true
console.log(1 >= 2) //false
console.log(1 <= 2) //true
console.log(2 >= 2) //true
console.log(2 <= 2) //true
console.log(1 == 1) //true.
console.log(1 === '1') //false.
후자는 데이터의 타입이 서로 다르기에 ('1'은 스트링 타입) false가 출력되었다.
console.log (1 == true) // 1과 true는 값이 같으므로 trure
console.log (1 === true) //값은 같으나 타입이 다르므로 false
console.log (1 != true) // 값이 같으므로 false
console.log (1 !== true) // 값은 같으나 데이터가 다르므로 true
자바 스크립트에서 일치 연산자로 값을 비교할 때는 ===
3개를 쓰는 것이 좋다.
(값과 데이터의 타입까지 비교. 마찬가지로 a !=
b보다는 a !==
b를 쓰도록 하자.)
||
: Or. 둘 중 하나만이라도 참(true)이면 참.&&
: And. 둘 다 참(true)이어야만 참. (*거짓 && 거짓은 거짓이다)
console.log(true || true) -> true
console.log(true || flase) -> true
console.log(false || true) -> true
console.log(false || false) -> false
console.log(true && true) -> true
console.log(true && false) -> false
console.log(false && true) -> false
console.log(false && false) -> false
추가) !
(값 하나를 반대로 만든다.)
console.log(!true) -> false
console.log(!false) -> true
console.log ( 1===1 || 1===2)
let a = 1
let b = 2
let c = 1
let d = 1
console.log ( a===b || c===d) // (false || true) 이므로 결과는 true.
console.log ( a===c && c===d) // (true && true) 이므로 결과는 true.