티스토리 뷰
Boolean: 비교 연산의 결과로 참이거나 거짓을 얻을 수 있다. 여기서 참(true)과 거짓(false)은 언어에서 제공하는 데이터형이다. 이를 Boolean이라 부르고 불린은 위에 말한 두 가지 밖에 없다. 참과 거짓에 따라 조건문을 실행하기도 안하기도 하기 때문에 조건문에서 핵심적인 역할을 담당한다.
if문
if(true){
alert(1);
alert(2);
alert(3);
alert(4);
}
alert(5);
//output: 1~5까지 알림창
if(false){
alert(1);
alert(2);
alert(3);
alert(4);
}
alert(5);
//output:5만 알림창에 뜬다.
else
-if로는 좀 더 복잡한 상황을 처리하는데 부족하다.
-else는 조건문의 반대상황에 적용할 코드를 작성한다. (앞쪽의 나온 코드가 실행되지 않았을 때 적용할 코드)
만약 조건문의 시작이 true라면 false일때를 else가 담당하는 것이다.
*else 는 앞에 나온 코드가 실행되지 않았을 때 중괄호{}안의 코드가 실행되는 것 그렇기때문에 만약 앞선 조건문에 true가 있어서 실행된 코드가 있다면 else절의 코드는 실행되지 않습니다.
else if
-else if를 이용하면 조건문을 좀 더 풍부하게 사용할 수 있다.
if (false) {
alert(1); //false이기때문에 실행X
} else if (true) {
alert(2); //true-> 실행O
} else if (true) {
alert(3); //true이지만 앞서 실행된 코드가 있기 때문에 실행X
} else {
alert(4); //마찬가지로 앞서 실행된 코드가 있기 때문에 실행X
}
//output: 처음 조건문이 false로 시작하기 때문에 해당 중괄호{}는 무시됩니다.
//
*else if 역시 else와 마찬가지로 위에서부터 true인 조건문이 없을 때 중괄호{}안의 코드를 실행합니다.
else if(true)가 2개나 있지만 alert(2)에서 이미 실행됐기 때문에 alert(3)과 alert(4)는 실행되지 않습니다.
-> 정확히 말하면 true를 만나면 조건문이 종료됩니다. 그렇기 때문에 아래의 코드는 true가 있더라도 실행되지 않고 끝나는 것이지요. false의 경우는 건너뛰는 것으로 생각하세요.
변수와 비교연산자
const id = prompt("아이디를 입력해주세요");
if (id == "cong") {
const password = prompt("비밀번호를 입력해주세요.");
if (password == "11111") {
alert(`로그인 하셨습니다. ${id}님 반갑습니다!`);
} else {
alert("비밀번호가 다릅니다!");
}
// alert("아이디가 일치합니다.");
} else {
alert("아이디가 일치하지 않습니다.");
}
논리 연산자
-논리 연산자를 쓰면 조건문을 좀 더 간결하고 다양한 방법으로 구사할 수 있도록 도와줍니다.
- &&(AND 연산자) - 조건식의 좌항과 우항 모두 true여야만 true입니다.
- ||(OR 연산자) -조건식의 좌항과 우항 중 하나만 true이면 true입니다.
- !(not 연산자) - 부정의 의미로, Boolean의 값을 역전시킨다. e.g.) !true = false
비교 연산자를 쓴 조건문의 예시 코드를 줄여봅시다. ▼
const id = prompt("아이디를 입력해주세요");
const password = prompt("비밀번호를 입력해주세요.");
if (id == "cong" && password === "11111") {
alert(`로그인 하셨습니다. ${id}님 반갑습니다!`);
} else {
alert("아이디가 일치하지 않습니다.");
}
- 여러개의 논리 연산자가 얽혀있는 조건식이라면 괄호부터 계산하는 것과 같은 논리로 풀어갑니다. ▼
(id==='wwwdf' || id==='adfe' || id==='rrlf') && password==='111111')
1. 좌항(id들, OR연산자) true or false ?
2. 우항(패스워드 일치연산자) true or false?
3. 좌항과 우항 전체(AND연산자) true or false?
기타 false 로 간주되는 데이터형
-false 와 0 외에 false로 간주되는 데이터형
- '' // 빈 문자열
- undefined // 정의되지 않은 것
- !a // 값이 할당되지 않은 변수 -> undefined 와 같은 거라고 보면 됨
- null // 값이 없는 상태
- NaN // Not a number
if(!''){
alert('빈 문자열')
}
if(!undefined){
alert('undefined');
}
var a;
if(!a){
alert('값이 할당되지 않은 변수');
}
if(!null){
alert('null');
}
if(!NaN){
alert('NaN');
}
'Frontend > JavaScript' 카테고리의 다른 글
[생활코딩] JS문법: 함수(Function) (0) | 2022.01.03 |
---|---|
[생활코딩] JS문법: 반복문(loop or iterate) (0) | 2022.01.02 |
[생활코딩] JS문법: 비교 연산자 (0) | 2021.12.30 |
[생활코딩] UI vs API, web프로젝트 만들 시 검색 키워드 추천 (0) | 2021.12.29 |
[javaScript] 색상을 담은 배열로 배경색상 변경하기 (0) | 2021.12.24 |
- Total
- Today
- Yesterday
- is()
- 원티드 FE 프리온보딩 챌린지
- aspect-ratio
- nvm 설치순서
- 틸드와 캐럿
- 항해99추천비추천
- ~ ^
- 원티드 3월 프론트엔드 챌린지
- Prittier
- 프리렌더링확인법
- && 셸 명령어
- getStaticPaths
- nvm경로 오류
- 항해99프론트후기
- text input pattern
- reactAPI
- D 플래그
- 타입스크립트 장점
- 항해99프론트
- getServerSideProps
- 타입스크립트 DT
- 원티드 프리온보딩 프론트엔드 챌린지 3일차
- 부트캠프항해
- fs모듈 넥스트
- tilde caret
- 프리온보딩 프론트엔드 챌린지 3월
- float 레이아웃
- grid flex
- 원티드 프리온보딩 FE 챌린지
- 형제 요소 선택자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |