[TIL] JavaScript 연산자

🔑 연산자


1. 할당 연산자

😵 제가 if 문을 연습하며 가장 많이 한 실수는 = 이었습니다.
도대체 아무리 봐도 맞는 것 같은데 어디가 틀린거지? 하면서 머리를 싸매고 1시간을 넘게 고민한 결과 = 때문이라는 사실을 알고 매우 슬펏지요...ㅜ

컴퓨터에서 = 은 '갈다'가 아니고 '할당' 이라는 것을 뼛속 깊이 깨달았습니다..


(이렇게까지 썼으니 이제 다시는 잊지 않을겁니다.후후~ 탈출 )

덧셈과 뺄셈 등 간단한 연산도 할당으로 가능합니다.

  • 할당 x = y
  • 덧셈 할당 x += y (x = x + y)
  • 뺄셈 할당 x -= y (x = x - y) 등등

2. 비교 연산자

앞에서 ===을 =으로 잘못알았던 비교 연산자 입니다.

==은 동등하다 라는 뜻인데 앞에 !가 들어간 !=은 부등함을 뜻합니다.
===은 피연산자들이 완전히 같고, type까지 일치하는 경우에 참을 반환합니다.
!==은 그 반대의 의미입니다.

그 외에는 >, >=, <, <= 가 있습니다.

그런데 주의할 점! 위의 연산자들은 모두 그 연산자를 썼을 때 '참을 반환한다'는 개념으로 이해해야 합니다. 컴퓨터는 좌, 우변의 피연산자가 T/F로 반환되었는지 생각합니다.

3 === 3   // true
3 === '3' // false
1 !=   2     // true
1 !=  "1"    // false

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Expressions_and_Operators

3. 논리 연산자

변수를 선언하거나 if 문을 쓰면서 우리의 손가락을 덜 아프게 해주는 착한 연산자 입니다.

and: &&
or: ||
Not: !

if (answer === "선릉") {
  alert("가까우시네요!");
} else if (answer === "강남") {
  alert("가까우시네요!");
} else if (answer === "을지로") {   
  alert("조금 멀리 사시네요."); 
} else {
 alert("거긴 어디인가요?");
}

이거 보다

if (answer === "선릉" || answer === "강남" || answer === "역삼") {
  alert("가까우시네요!");
} else if (answer === "을지로") {   
  alert("조금 멀리 사시네요."); 
} else {
 alert("거긴 어디인가요?");

이렇게 쓰는 것이 이해하기도 더 쉽고 else if의 반복을 줄일 수 있습니다.

앗 그런데 만약 '경기에 살면서 자차가 있다'도 "가까우시네요!"를 출력하고싶다면 어떻게 해야할까요?

간단하게 ()로 묶어주면 됩니다.

if (answer === "선릉" ||(answer === "경기" && car === "있다")) {
	  alert("가까우시네요!");
}

그 외에도 다양한 연산자가 있습니다.


참고 자료

좋은 웹페이지 즐겨찾기