티스토리 뷰
|| (OR)
여러개 중 하나라도 true면 true
즉, 모든 값이 false일 때만 false를 반환
&& (AND)
모든 값이 true면 true
즉, 하나라도 false면 false를 반환
! (NOT)
true면 false
false면 true
true와 false 값을 바꿔줌
평가
OR는 첫번째 true를 발견하면 즉시 평가를 멈춤
AND는 첫번째 false를 발견하면 즉시 평가를 멈춤
코드를 짤 때도 어떤 순서로 평가를 배치하는지가 중요
간단한 평가로 T/F 판단이 가능하다면 복잡한 작업 전에 하는 것이 좋음
(예 : 운전면허가 있는(전체80%) 시력이 좋은(전체60%) 여성군인(전체7%)을 판단한다고 하면
여성군인(전체7%)인 시력이 좋은(전체60%) 운전면허가 있는 사람(전체80%)순으로 배치해 시간 절약)
성능 최적화에 도움을 줌
사용
a || b
a && b
!a
나이를 입력받아 성인이 아니면 되돌려 보내는 경우
const age = prompt('나이를 입력해주세요.', "18");
const isAdult = age > 19;
if (!isAdult){
console.log('성인이 아닙니다.');
}
>age의 값을 10으로 입력할 경우 false이고
!는 false를 true로 반환하여 if문이 실행된다.
비교 연산자 우선순위
&& > ||
남자이고, 이름이 Mike이거나 성인일 때만 작동시키고 싶은데
const gender = 'F';
const name = 'Jane';
const isAdult = true;
if (gender === 'M' && name === 'Mike' || isAdult) > 이렇게 하면 여성이어도 작동함
=
if ((gender === 'M' && name === 'Mike') || isAdult) > 이 코드와 같음
코드의 우선 순위대로 평가하므로 최종적으로 True가 나와서 작동한다
그래서 남자이고, 이름이 Mike이거나 성인인 조건은
if (gender === 'M' && (name === 'Mike' || isAdult))
이렇게 해야한다
+연산자 우선순위
1. 괄호 ()
2. 증감/논리 연산자 not ++ -- !
3. 산술 연산자 곱셈 * / %
4. 산술 연산자 덧셈 + -
5. 비교 연산자 대소 < <= > >=
6. 비교 연산자 같음 == === != !==
7. 논리 연산자 and &&
8. 논리 연산자 or ||
9. 대입 연산자 = += -= *= /= %=
그래서 위 예제에서
if (gender === 'M' && name === 'Mike' || isAdult)
if ((false) || isAdult)
if ((false) || (true))
(true)
> 작동하게 된다
'유튜브 강의' 카테고리의 다른 글
코딩앙마 자바스크립트 기초 강의 9. 스위치 (0) | 2021.08.12 |
---|---|
코딩앙마 자바스크립트 기초 강의 8. 반복문 (0) | 2021.08.12 |
코딩앙마 자바스크립트 기초 강의 6. 비교 연산자, 조건문 (0) | 2021.08.12 |
코딩앙마 자바스크립트 기초 강의 5. 연산자 (0) | 2021.08.12 |
코딩앙마 자바스크립트 기초 강의 4. 형변환 (0) | 2021.08.12 |
- Total
- Today
- Yesterday
- 타입스크립트
- 코딩앙마
- map
- js
- 제이쿼리
- TS
- 저스트코드
- vscode
- javascript
- 깃
- html
- React
- scss
- 코드잇
- 회고
- Til
- CSS
- 김버그
- Python
- 제로초
- 스파르타코딩클럽
- vue
- Typescript
- 드림코딩
- git
- 비주얼스튜디오코드
- 구름에듀
- 자바스크립트
- 리액트
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |