조건문(Conditional statement)

sssuin·2021년 7월 2일
0

JavaScript

목록 보기
6/15

: 주어진 조건에 따라서 애플리케이션을 다르게 동작하도록 하는것(Conditional statement)

1.문법

(1)if

if(boolean) {
 alert. ('result : true');
}

-> 괄호 안은 조건문, 중괄호 안은 조건이 맞으면 실행되는 코드
-> boolean이 true면 다 실행이 되지만 false인 경우 중괄호 구간이 실행되지 않음

(2)else

: if 조건문이 true라면 if의 중괄호 구간이 실행되고, false라면 else 이후의 중괄호 구간이 실행된다. 즉 else는 주어진 조건이 거짓일 때 실행할 구간을 정의하는 것

If(true) {
   alert(1);
} else {
   Alert(2);
}
결과값은 1

->if문이 참이면 else가 실행되지 않고 if문이 false인 경우 else가 실행됨

(3)else if

: 좀 더 다양한 케이스의 조건 검사 가능, if나 else와는 다르게 여러개가 올 수 있음
else if의 모든 조건이 false라면 else가 실행됨. else는 생략 가능

If (조건1) {
   조건1이 맞으면 이게 실행됨 ;
} else if (조건2) {
   조건2가 맞으면 이게 실행 ;
} else if (조건3) {
   조건3이 맞으면 이게 실행 ; 
} else {
   위 조건들이 다 안맞으면 이게 실행됨 ;
}

예를들면

If (false) {
   alert(1);
} else if (false) {
   alert(2);
} else if (true) {
   alert(3);
} else {
   alert(4)
}

-> 첫번째 if문은 false이기 때문에 넘어가고 두번째 else if문도 false기 때문에 지나치고 세번째 else if문이 true이기 때문에 결과값은 3
-> 만약 세번째 esle if 문도 false였다면 결과값은 4가 된다.
->❗️위에서부터 차례로 조건을 체크하기 때문에 조건문은 순서가 중요함!

(4)switch문
: switch문의 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case문으로 실행순서를 이동

switch(표션식) {
case 1:
switch 문의 표현식과 표현식1이 일치하면 실행될 문;
break;
case 2:
switch문의 표현식과 표현식2가 일치하면 실행될 문;
break;
dafault:
switch문의 표현식과 일치하는 표현식을 갖는 case문이 없을 때 실행될 문;
}

➡️불리언 값보다는 문자열, 숫자 값인 경우가 많다. -> 다양한 상황(case)에 따라 실행할 코드 블록을 결정할 때 사용
➡️break;는 코드블록에서 탈출하는 역할을 수행 -> break문이 없다면 일치하더라도 실행 순서는 다음으로 계속 넘어감
➡️default문은 마지막에 위치하므로 실행이 종료되면 빠져나가므로 break문이 필요 없음
➡️여러개의 case문을 중복해서 사용할 수 있다.

2.변수와 비교연산자

(1)조건문의 중첩

➡️조건문은 조건문 안에 중첩되어 사용 가능
➡️prompt(): 입력창이 존재해서 사용자에게 정보를 받아올 수 있음
사용자가 입력한 값을 가져와서 id 변수의 값으로 대입 -> API 또는 함수
➡️사용자가 입력한 값과 id값이 일치한지 확인후에 비밀번호가 일치하는지 확인
➡️id = prompt ( ): 대입연산자

3.논리연산자

(1)&&

: 좌항과 우항이 모두 참일때 참이 된다(and 연산자) -> 조건 하나만 맞으면 되는것이 아니라 모두 충족해야 참이 된다.

➡️경기도에 살고 만24세여야 전체가 true가 된다. 만약 하나라도 틀리면 else로 넘어감.

(2)||

: 좌우항 하나라도 맞으면 true가 되는 논리연산자(or연산자)

➡️부천, 안산, 시흥을 입력하면 true, 다른 값을 입력하면 else로 넘어감

(3)혼합


➡️컴퓨터는 왼쪽부터 해석하지만 가독성을 위해 괄호를 묶는게 좋음

(4)!

: 부정의 의미, boolean의 값을 역전시킴(not연산자)

4.boolean의 대체제

(1)0, 1
관습적인 이유로 0은 false, 0이 아닌값은 true로 간주됨 -> 쓰지않는것이 좋음

(2)기타 false로 간주되는 데이터형
빈 문자열 -> false
Undefined -> false
var a; -> false
Null -> false
NaN -> false

Reference

0개의 댓글