파트 1 - 자바스크립트 기본 - 11) 논리 연산자

Lee·2021년 10월 3일
0
post-thumbnail

논리연산자 파트 링크: https://ko.javascript.info/logical-operators

논리연산자의 종류

논리연산자에는 ||(OR), &&(AND), !(NOT) 이렇게 세 연산자가 있다. Boolean 타입만을 다룰 것 같은 논리연산자지만 피연산자로 Boolean 형 뿐만 아니라 모든 타입을 받을 수 있다. 연산 결과 또한 모든 타입이 나올 수 있다.

논리 연산자는 연산 과정에서 피연산자가 boolean 형이 아니면 해당 값을 boolean 형으로 변환하여 평가한다.
반환하는 값은 해당 피연산자의 원래 형태로 반환한다.


OR(||) 연산자

첫번째 truthy를 반환한다. OR 연산자를 여러개 체이닝해서 사용할 경우에도(a||b||c) 첫번째 truthy를 반환한다.
모든 평가를 마쳤음에도 truthy 가 없다면 제일 마지막 값을 반환한다.

OR 연산자가 제공하는 기능 중 단락평가왼쪽에서 오른쪽으로 진행되는 평가가 중간에 truthy를 만나면 뒤의 값들은 더 건드리지 않고 멈추는 프로세스를 의미한다.
(이 기능은 AND 연산자에서도 같다)


AND(&&) 연산자

첫번째 falsy를 반환한다. 연산을 마칠 때까지 모든 값이 truthy면 마지막 값을 반환한다. (정말 OR 연산자와 동작 방식이 같다)

주의사항

&&의 우선순위가 || 의 우선순위보다 높다!
ex) a && b || c && d 는 (a && b) || (c && d)와 같다.

if를 &&나 ||로 대체하지 말것!
각 문법을 각각의 목적에 맞게 사용해야 한다.


NOT(!) 연산자

!를 한 번 쓰면 피연산자를 boolean 형으로 변환 후 이 변환된 boolean 값의 역(반대) 값을 반환.

!를 두 번(!!) 쓰면 그 역의 값의 역(반대의 반대니까 원래값을 의미)을 반환 하여 특정 값을 boolean 형으로 변환하는 기능을 한다.

※ TIP! alert 메서드는 undefined를 반환한다.

profile
하고 싶은 게 너무 많습니다.

0개의 댓글

관련 채용 정보