티스토리 뷰

생활코딩/자바스크립트

조건문

리피아 2021. 8. 17. 05:39
728x90

조건문

Boolean

  • 비교 연산의 결과로 참(true)이나 거짓(false)을 얻을 수 있음
  • 불린(Boolean) : 숫자와 문자처럼 언어에서 제공하는 데이터 형
  • 불린으로 올 수 있는 값은 true, false 두가지
  • 불린은 조건문에서 핵심적인 역할 담당

 

조건문

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

 

조건문의 문법

 

if

  • 조건문은 if로 시작
  • if(조건){실행문}
  • 조건이 될 수 있는 값 : Boolean
  • Boolean의 값이 true일 때 중괄호 구문이 실행

 

if(true){

      alert('result : true');

}                                      //결과 result : true

 

 

if(false){

      alert('result : false');

}                                     //결과 result : false

 

 

if(true){

      alert(1);

      alert(2);

      alert(3);

      alert(4);

}

alert(5);                            //결과 12345

 

 

if(false){

      alert(1);

      alert(2);

      alert(3);

      alert(4);

}

alert(5);                             //결과 5

 

  • if문의 조건이 참이면 중괄호의 시작({)부터 중괄호의 끝(})까지의 구간이 실행

 

else

 

if(true){

     alert(1);

} else {

     alert(2);

}                                      //결과 1

 

 

 

if(false){

     alert(1);

} else {

     alert(2);

}                                       //결과 2

 

 

  • if문의 조건이 true라면 if의 중괄호 구간이 실행
  • false라면 else 이후의 중괄호 구간이 실행(else는 주어진 조건이 거짓일 때 실행할 구간을 정의)

 

else if

 

if(false){

     alert(1);

} else if(true){

     alert(2);

} else if(true){

     alert(3);

} else {

     alert(4);

}                                       //결과 2

 

 

 

if(false){

     alert(1);

} else if(false){

     alert(2);

} else if(true){

     alert(3);

} else {

     alert(4);

}                                       //결과 3

 

 

 

if(false){

     alert(1);

} else if(false){

     alert(2);

} else if(false){

     alert(3);

} else {

     alert(4);

}                                       //결과 4

 

  • else if는 좀 더 다양한 케이스의 조건을 검사할 수 있는 기회를 제공
  • if나 else와는 다르게 여러개가 올 수 잇음
  • else if의 모든 조건이 false라면 else가 실행
  • else는 생략 가능

 

변수와 비교연산자

 

<!DOCTYPE html>

<html>

      <head>

             <meta charset="utf-8"/>

      </head>

      <body>

             <script>

                  id = prompt('아이디를 입력해주세요.')

                  if(id=='egoing'){

                      alert('아이디가 일치 합니다.')

                  } else {

                      alert('아이디가 일치하지 않습니다.')

                  }

            </script>

      </body>

</html>

  • prompt() : 사용자가 입력한 값을 가져와서 id 변수의 값으로 대입(API, 함수)

 

조건문의 중첩

 

<!DOCTYPE html>

<html>

      <head>

             <meta charset="utf-8"/>

      </head>

      <body>

            <script>

                  id = prompt('아이디를 입력해주세요.');

                  if(id=='egoing'){

                      password = prompt('비밀번호를 입력해주세요.');

                      if(password==='111111'){

                          alert('인증 했습니다.');

                      } else {

                           alert('인증에 실패 했습니다.');

                      }

                 } else {

                     alert('인증에 실패 했습니다.');

                 }

            </script>

      </body>

</html>

 

논리 연산자

  • 조건문을 좀 더 간결하고 다양한 방법으로 구사할 수 있도록 도와줌

&&

  • &&는 좌항과 우항이 모두 참(true)일 때 참이 됨
  • and 연산자

 

if(true && true){           //true

    alert(1);

}

if(true && false){           //false

    alert(2);

}

if(false && true){           //false

    alert(3);

}

if(false && false){           //false

    alert(4);

}                                //결과 1

 

 

 

 

<!DOCTYPE html>

<html>

      <head>

             <meta charset="utf-8"/>

      </head>

      <body>

             <script>

                   id = prompt('아이디를 입력해주세요.');

                   password = prompt('비밀번호를 입력해주세요.');

                   if(id=='egoing' && password=='111111'){

                      alert('인증 했습니다.');

                   } else {

                        alert('인증에 실패 했습니다.');

                   }

             </script>

       </body>

</html>

 

 

||

  • '||'는 '||' 좌우항 중에 하나라도 true라면 true가 되는 논리 연산자
  • or 연산자

 

if(true || true){           //true

    alert(1);

}

if(true || false){           //true

    alert(2);

}

if(false || true){           //true

    alert(3);

}

if(false || false){           //false

    alert(4);

}                             //결과 123

 

 

id = prompt('아이디를 입력해주세요.');

if(id==='egoing' || id==='k8805' || id==='sorialgi'){

    alert('인증 했습니다.');

} else {

    alert('인증에 실패 했습니다.');

}

 

  • id값으로 egoing, k8805, sorialgi 중의 하나를 입력하면 '인증 했습니다.' 출력, 그 외의 값을 입력하면 '인증에 실패 했습니다.' 출력
  • 논리 연산자는 2개뿐 아니라 여러 개 사용 가능

id = prompt('아이디를 입력해주세요.');

password = prompt('비밀번호를 입력해주세요.');

if((id==='egoing' || id==='k8805' || id==='sorialgi') && password==='111111'){

    alert('인증 했습니다.');

} else {

    alert('인증에 실패 했습니다.');

}

 

  • id 값으로 egoing, k8805, sorialgi 중의 하나를 사용하고 비밀번호는 111111을 입력하면 right 외의 경우에는 wrong을 출력
  • or와 and를 혼합해서 사용
  • id 값을 테스트 하는 구간을 괄호()로 묶음(사칙연산의 괄호부터 계산하는 것과 같은 원리)

!

  • 부정의 의미 : Boolean의 값을 역전시킴(true => false, false => true)
  • not연산자

 

if(!true && !true){

    alert(1);

}

if(!false && !true){

    alert(2);

}

if(!true && !false){

    alert(3);

}

if(!false && !false){

    alert(4); }                                         //결과 4

 

Boolean의 대체제

01

 

if(0){

    alert(1)

}

if(1){

    alert(2)

}                               //결과 2

 

  • 관습적으로 0은 false, 0이 아닌 값은 true로 간주

기타 false로 간주되는 데이터 형

 

 

if(!''){

    alert('빈 문자열')

}

if(!undefined){

    alert('undefined');

}

var a;

if(!a){

    alert('값이 할당되지 않은 변수');

}

if(!null){

    alert('null');

}

if(!NaN){

    alert('NaN');

}

'생활코딩 > 자바스크립트' 카테고리의 다른 글

함수  (0) 2021.08.17
반복문  (0) 2021.08.17
비교  (0) 2021.08.17
줄바꿈과 여백  (0) 2021.08.17
주석  (0) 2021.08.17
댓글