연산자

훈나무·2022년 10월 17일
1

1.산술 연산자

연산자의미부수효과
+더하기X
-빼기X
*곱하기X
/나누기X
%나머지X
++증가O
감소O
+*1 과 같음X
-*-1과 같음X

부수효과가 없다는 뜻은, 피연산자에 아무런 영향을 끼치지 않는다는 뜻입니다.
++와 — 는 피연산자의 값을 변경하므로 부수효과가 있습니다.

+는 주로 string 을 number 로 형변환 할때 사용됩니다.

const str = "10"
console.log(typeof str) //->string
console.log(typeof +str) //->number

const bool = false
console.log(+bool) //->0
console.log(bool) //-> false 부수효과는 없음

2. 비교 연산자

연산자의미사례설명부수효과
==동등 비교x==yx,y 값이 같음X
===일치 비교x===yx,y 값과 타입이 같음X
!=부동등 비교1 != “1” (false)x,y 값이 다름X
!==불일치 비교1!== “1” (true)x,y 값 또는 타입이 다름X

웬만하면 동등비교는 사용하지 말고 일치비교를 사용하도록 하고, 값을 비교하고 싶을 때는 다른 방법을 사용하도록 합시다.
또한 NaN 은 따로 비교하는 함수인 Number.isNaN() 을 사용해야 함에 주의해야 합니다.


3. 삼항연산자

const j = 1
let test = 0
if (typeof j === "string"){
	test=100
}else{
	test=333
}

위처럼 if else 를 사용해서 값을 할당하는 경우가 비일비재한데, 이런 일을 간단하게 하도록 만들어 진 것이 삼항연산자입니다.

// 기본적인 삼항연산자
const j = 1
const test = typeof j ==="string"?100:333 
// 삼항연산자를 중복해서 사용가능합니다
// j의 타입이 string 이면 100
// j의 타입이 number 이고 10보다 크면 888 10보다 크지 않으면 0
// j의 타입이 string 이 아니고, number 가 아니면 333
const test2 = typeof j ==="string"? 100:
							typeof j ==="number"? j > 10 ? 888 : 0 :333

4. 논리연산자

연산자의미부수효과
&&ANDX
!NOTX

모두 잘 알것 같으니 패스! 9.4 에서 단축평가는 중요합니다!

드 모르간의 법칙

이건,,, 그냥 많이 해보고, 다이어그램을 그려가면서 연습하면 적응할 수 있습니다.

!(x||y) ===(!x&&!y)
!(x&&y) === (!x || !y)

5.연산자의 부수효과

대부분의 연산자는 부수효과가 없다. 부수효과가 있는 연산자는 할당 연산자(=), 증가(++), 감소(—), delete 연산자 입니다.

var x
x=1
console.log(x)
x++
console.log(x)
x={a:1}
delete x.a
console.log(x)

6.연산자 우선순위

전부 외운다기 보다는, 몇몇개만 외우면 됩니다.

  1. () → 가장 우선순위가 높음
  2. new , []프로퍼티 접근, ()함수호출,? 옵셔널 체이닝 → 두번째로 우선순위가 높음
profile
프론트엔드 개발자 입니다

1개의 댓글

comment-user-thumbnail
2022년 11월 15일

완전 유익한 정보네요~ 퍼가요~

답글 달기