비앤비 성공기
Javascript | 연산자의 종류와 우선순위(Part.2 논리 연산자와 우선순위) 본문
Javascript | 연산자의 종류와 우선순위(Part.2 논리 연산자와 우선순위)
Ian shin 2021. 10. 9. 02:56설명에 들어가기 앞서 이야기했던 용어를 정리하고 들어가겠습니다.
연산자란 무엇인가? 들어가기 앞서 용어 정리를 간단하게 짚고 넘어 가야될거 같다.
피연산자
: 3+5라는 수식이 있다. 이때 3,5는피연산자
즉,연산을 당하는 것.숫자와 문자열 또는 객체가 될 수도 있다.
연산자
: '+'는 연산자라고 부른다. 어떠한 피연산자를 연산하는 것. 예로,(+,-,*)이 있다.논리값
: 참과 거짓, javascript에서는true
,false
로 나타낸다.단항 연산자
: 하나의 값에 연산자를 붙이는 것. ex)a++,++b,-a 등이 있다
논리 연산자(Logival Oprator)

1. && (AND 연산자)
AND연산자는 두개의 &&
기호로 표시되며 두 피산연자가 모두 참일 경우 true
이며, 그렇지 않을 경우 false
를 반환한다.
result = true && true;
console.log(result); // true
1.1 && (AND 연산자) 예제
a1 = true && true // t && t returns true
a2 = true && false // t && f returns false
a3 = false && true // f && t returns false
a4 = false && (3 == 4) // f && f returns false
a5 = 'Cat' && 'Dog' // t && t returns "Dog"
a6 = false && 'Cat' // f && t returns false
a7 = 'Cat' && false // t && f returns false
a8 = '' && false // f && f returns ""
a9 = false && '' // f && f returns false
숫자 1은 true
, 숫자 0은 false
로 처리된다.
1.2 AND연산자의 구동방식
// 1. 왼쪽부터 False 값을 찾아나간다.
// 2. False값을 찾은 경우, 해당값을 반환한다.
// 3. 마지막에 도달할 경우, 마지막 값을 반환한다.
true && true; // true
true && false; // false
false && true; // false
false && false; // false
true && "231" && 0 && 300; // 0
1.3 AND연산자 사용시 주의사항
&&
나 ||
를 실행한 결과값이 항상 true
아니면 false
라고 잘못 알고 있는 경우가 매우 많다.
const something = true || false;
console.log(something); // true;
const somethingElse = true && 100;
console.log(somethingElse); // 100
somethingElse
가 true
로 나올 것이라 예상을 하지만 somethingElse
는 100이라는 숫자를 담게 된다.
&&
(AND연산자)는 ||
(OR연산자)보다 우선순위가 높다.a && b || c && d
= (a && b) || (c && d)
와 같다.
|| (OR연산자)
OR연산자는 두개의 ||(역슬래쉬 기호)로 표시된다.
result = a || b;
인수 중 하나라도 true
가 있으면 true
를 반환하고 그렇지 않으면 false
를 반환한다.
1.1 OR연산자 예제
o1 = true || true // t || t returns true
o2 = false || true // f || t returns true
o3 = true || false // t || f returns true
o4 = false || (3 == 4) // f || f returns false
o5 = 'Cat' || 'Dog' // t || t returns "Cat"
o6 = false || 'Cat' // f || t returns "Cat"
o7 = 'Cat' || false // t || f returns "Cat"
o8 = '' || false // f || f returns false
o9 = false || '' // f || f returns ""
o10 = false || varObject // f || object returns varObject
OR연산자는 두 피연산자가 모두 false
일 때를 제외하고는 항상 true
다. 피연산자가 boolean이 아닌 경우, 평가를 위해 boolean으로 변환된다.
if (1 || 0) { // if( true || false )처럼 동작
alert( 'truthy!' );
}
위와 같이 숫자 1은 true
, 숫자 0은 false
로 처리된다.
1.2 OR연산자 구동 방식
// 1. 왼쪽부터 True 값을 찾아나간다.
// 2. True값을 찾은 경우, 해당값을 반환한다.
// 3. 마지막에 도달할 경우, 마지막 값을 반환한다.
true || true; // true
true || false; // true
false || true; // true
false || false; // false
false || "" || 500 || 300; // 500
! (NOT연산자)
NOT연산자는 !(느낌표)로 표시된다.
n1 = !true // !t returns false
n2 = !false // !f returns true
n3 = !'' // !f returns true
n4 = !'Cat' // !t returns false
피연산자를 boolean 유형으로 변환하여 true/false로 값을 나눈 후 그 결과값의 반대값을 반환한다.
alert( !!"non-empty string" ); // true
alert( !!null ); // false
!!
를 이용하여 이중으로 NOT을 사용할 수 있다.
연산자 우선순위
Javascript 우선순위 순서는
괄호()
->증감 연산자
->산술 연산자
->비교 연산자
->논리 연산자
->대입 연산자
순이다
괄호가 가장 순위가 높다.
NOT 논리 연산자는 산술 연산자보다 우선순위가 높다.
아래는 우선순위 순서를 비트 연산자를 제외하고 비교한 표이다.

'끄적끄적 개발 지식이야기 > javascript' 카테고리의 다른 글
Javascript | Math expression(feat.증감 연산자) (0) | 2021.10.11 |
---|---|
Javascript | 연산자의 종류(Part.3 대입 연산자,증감 연산자) (0) | 2021.10.11 |
Javascript | Function(함수란) (0) | 2021.10.11 |
Javascript | 변수 var, let, const 그리고 호이스팅 (0) | 2021.10.11 |
Javascript | 연산자의 종류(Part.1 비교 연산자,산술 연산자) (0) | 2021.10.09 |