자바스크립트의 논리연산자는 불리언(Boolean) 값을 결합, 조건문에서 복잡한 논리식을 구성할 때 사용된다.
주로 "true" 와 "false" 값과 함께 사용되지만, 자바스크립트에서는 논리 연산자가 숫자, 문자열, 객체 등의 비불리언값과 함께 사용될 때도 규칙에 따라 행동한다.
&& (논리 and)
- 동작 원리: 두 피연산자가 모두 참일 때 참을 반환, 하나라도 거짓이면 거짓을 반환
- 평가 순서: 왼쪽에서부터 오른쪽으로 평가. 첫번째 연산자가 false라고 평가되면 나머지 피연산자들은 평가 안하고 바로 그 값을 반환 (단축 평가)
- 비불리언 값: 첫번째 피연산자가 true로 평가되면 두번째 연산자를 반환, false리먄 첫번째 피연산자 반환
console.log(true && true); // true
console.log(true && false); // false
console.log(0 && "Hello"); // 0
console.log(1 && "Hello"); // Hello
|| (논리 or)
- 동작 원리: 두 피연사자 중 하나라도 true일 때 true를 반환, 둘 다 false 일 때 false를 반환
- 평가 순서: 왼쪽에서 오른쪽으로 평가. 첫번째 연산자가 true라면 남은 피연산자는 평가하지 않고 바로 그 값을 반환
- 비불리언 값: 첫번째 연산자가 true라면 첫번째 피연산자 반환, 반대로 false라면 두번째 피연산자 반환
console.log(true || true); // true
console.log(true || false); // true
console.log(false || false); // false
console.log(0 || "Hi"); // // Hi
console.log(1 || "Hi"); // 1
console.log(true || "Hello"); // true
! (논리 not)
- 동작 원리: ! 연산자는 피연산자의 불리언값을 반전시킴
- 비불리언 값: 자바스크립트에서 모든 값은 불리언값으로 평가 가능함
console.log(!true); // false
console.log(!false); // true
console.log(!""); // true
console.log(!"Hi") // false
!! (이중 논리 not)
- 비불리언 값을 불리언 값으로 변환하는데 사용
- 동작 원리: 첫번째 !는 값을 반전시킴, 두번째 ! 다시 그 값을 반전시켜 truthy면 true falsy면 false를 반환
console.log(!!"Hi"); // true
console.log(!!0); // false
const platform = "IOS";
const isShowMobileButton = !!platform; // boolean 형태로 변환
'JAVASCRIPT' 카테고리의 다른 글
[Javascript] 자바스크립트는 컴파일 언어? 인터프리터 언어? (0) | 2024.09.04 |
---|---|
[Javascript] 자바스크립트의 비트 연산자 (Bitwise Operators) (0) | 2024.09.04 |
[Javascript] 자바스크립트의 데이터 타입(원시형, 참조형) (1) | 2024.04.18 |
[Javascript] 한글에서 받침(종성) 체크해서 조사(-은,-는...) 구분하기 (0) | 2024.04.11 |
[Javascript] 스프레드 연산자 (Spread Operator) (0) | 2024.03.20 |