조건문 -조건부연산자,짧은 조건문(논리연산자활용)-

hyo·2021년 10월 17일
0

조건부 연산자

조건부 연산자는

불 표현식 ? 참일때의 결과 : 거짓일때의 결과

로 쓰인다.


이렇게 쓰고, prompt()를 써서 나오는 입력상자에 1을 입력하면
불 표현식에 맞는 참 이므로 참일때의 결과인 '0 이상의 숫자입니다'가 alert()를 써서 나오는 경고 대화 상자가 나올것이고,
-1을 입력하면 '0보다 작은 숫자입니다'가 나온다.
거짓일때의 결과값은 0이상인 숫자 말고는 전부다 거짓일때의 결과가 출력된다. 문자열을 입력해도 불 표현식에 거짓 이므로 거짓일때의 값이 출력됨.

논리 연산자(짧은 조건문)

짧은 조건문의 특징은 논리 연산자의 특성을 조건문으로 사용하는 것이다.
논리 연산자 - 논리합 연산자 , 논리곱 연산자 에 대해 알아야한다.

논리합 연산자를 사용한 짧은 조건문

표현식을 살펴보자.

true || OOO

다음 논리합 연산자를 사용한 표현식은 뒤에 'OOO'에 어떠한 값이 들어가도 항상 true이다.
자바스크립트는 이처럼 참(true)이 확실할 때 추가 연산을 진행하지 않는다.
즉, 논리합 연산자의 좌변이 참이면 우변을 실행하지 않는다!


이 코드의 첫문장 true || console.log('실행될까') 는 논리합 연산자로 좌변이 true(참)이므로 우변은 실행되지않는다.
두번째 문장도 논리합 연산자로 좌변이 false(거짓)이므로 우변까지 실행되므로 콘솔창에 '실행될까?'가 출력된다.

논리곱 연산자

논리곱 연산자는 양변이 모두 참일 때만 참이기 때문에 다음 표현식은 항상 거짓(false)이다.

false && OOO

따라서 논리곱 연산자는 좌변이 거짓이면 우변을 실행하지 않는다.
즉,

결과가 거짓인 불 표현식 && 불 표현식이 참일 때 실행할 문장


이렇게 썻을때 콘솔창에 출력되는 값은 '실행1'만 출력된다.
논리곱연산자는 둘다 참일때만 참이기 때문에 좌변이 거짓(false)이면
우변을 실행하지 않는다는걸 알아두자!

profile
개발 재밌다

0개의 댓글