ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바스크립트 기본 - 조건문
    JavaScript/생활코딩 2018. 11. 14. 17:56



    조건문 - https://opentutorials.org/course/743/4724




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

    프로그램을 똑똑하게 만드는 것이다.






    a. 조건문의 문법


    • if

    조건문은 if 로 시작한다.


    if뒤에 있는 괄호에 true인 경우, 중괄호가 실행된다.

    if뒤에 있는 괄호가 false인 경우 중괄호가 실행되지 않는다.



    예제


    <!DOCTYPE html>

    <html>

    <head>

    <title></title>

    </head>

    <body>

    <script>

    if(true){

        alert('result : true');

    }       

    if(false){

        alert('result : true');

    }

    </script>

    </body>

    </html>


    예제를 크롬에서 열게 되면 첫번째 if문만 경고창이 실행된다.

    경고창 답

    1. result : true






    예제2


    <!DOCTYPE html>

    <html>

    <head>

    <title></title>

    </head>

    <body>

    <script>

    if(true){

    alert(1);

    alert(2);

    alert(3);

    alert(4);

    }

    alert(5);

    </script>

    </body>

    </html>


    예제를 크롬에서 열게 되면 차례대로 경고창으로 나타난다.

    경고창 답

    1. 1

    2. 2

    3. 3

    4. 4

    5. 5


    if뒤에 false가 온다면 중괄호가 실행되지 않고 alert(5); 만 실행된다.








    • else, else if

    if만으로는 복잡한 상황을 처리하는데 부족하다.

    else는 true일때 어떤 일을 하고, false일때 어떤 일을 한다는 것을 지정해주는 것이다.

    else if는 앞에 if가 실행되지 않을 때 실행됨.




    예제3


    <!DOCTYPE html>

    <html>

    <head>

    <title></title>

    </head>

    <body>

    <script>

    if(false){               //중괄호는 무시되며 if는 실행되지 않음.

    alert(1);

    } else if(true){        // if가 실행되지 않을 때 실행되는데 if뒤에 true이기 때문에 실행됨. 만약 if뒤에 false이면 실행되지 않음.

    alert(2);

    } else if(true){       //앞에 else if가 실행되었으므로 실행되지 않음.

    alert(3);

    } else {                //앞에 else if가 실행되었으므로 실행되지 않음.

    alert(4);

    }

    </script>

    </body>

    </html>


    예제를 크롬에서 열게 되면 경고창으로 나타난다.

    경고창 답

    2










    b. 변수와 비교연산자


    변수, 비교연산자, 조건문을 결합하여 코딩


    prompt : 어떠한 값을 사용자로부터 받을 수 있다.



    예제4


    <!DOCTYPE html>

    <html>

    <head>

        <meta charset="utf-8"/>

    </head>

    <body>

        <script>

            id = prompt('아이디를 입력해주세요.')     //prompt가 실행되어 경고창과 입력칸이 뜬다.

            if(id=='egoing'){                                 //입력칸에 egoing을 입력하면 if문이 실행됨.

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

            } else {                                             //입력칸에 egoing이 아닌 다른 값을 입력하면 else문이 실행됨.

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

            }

        </script>

    </body>

    </html>






    예제5


    <!DOCTYPE html>

    <html>

    <head>

        <meta charset="utf-8"/>

    </head>

    <body>

        <script>

            id = prompt('아이디를 입력해주세요.');                            //prompt가 실행되어 경고창과 입력칸이 뜬다.

            if(id=='egoing'){                                                         //입력칸에 egoing을 입력하면 if문이 실행됨.

                password = prompt('비밀번호를 입력해주세요.');           //비밀번호를 입력할 수 있는 입력칸이 뜬다.

                if(password==='111111'){                                        //비밀번호가 같으면 if문이 실행됨.

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

                } else {                                                                //비밀번호가 다르면 else문이 실행됨.

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

                }

            } else {                                                                   //입력칸에 egoing이 아닌 다른 값을 입력하면 else문이 실행됨.

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

            }

        </script>

    </body>

    </html>


     









    b. 논리 연산자


    조건문을 간결하고 다양한 방법으로 구사할 수 있게 도와준다.



    • &&

    && : and, 좌항과 우항이 모두 참일 경우에 전체가 true가 됨.



    예제6


    <!DOCTYPE html>

    <html>

    <head>

        <meta charset="utf-8"/>

    </head>

    <body>

        <script>

    if(true && true){                // 좌항과 우항이 모두 true이므로 괄호는 true가 되므로 중괄호가 실행됨.

    alert(1);

    }

    if(true && false){               // 좌항과 우항중 하나만 true이므로 괄호는 false가 되므로 중괄호가 실행되지 않음.

    alert(2);

    }

    if(false && true){              // 좌항과 우항중 하나만 true이므로 괄호는 false가 되므로 중괄호가 실행되지 않음.

    alert(3);

    }

    if(false && false){               // 좌항과 우항이 모두 false이므로 괄호는 false가 되므로 중괄호가 실행되지 않음.

    alert(4); 

    }

        </script>

    </body>

    </html>








    • ||

    || : or, 좌항과 우항중 하나만 true여도 전체가 true가 됨. 좌항과 우항 모두 false여야 전체가 false가 됨.



    예제7


    <!DOCTYPE html>

    <html>

    <head>

        <meta charset="utf-8"/>

    </head>

    <body>

        <script>

    id = prompt('아이디를 입력해주세요.');                                           // id 값을 입력 받음

    password = prompt('비밀번호를 입력해주세요.');                              // password 값을 입력 받음



                    // id값이 세개의 값중 하나를 입력하면 true가 됨. password는 무조건 111111이여야 true가 됨.

                    // 그래서 id와 password 모두 true가 되면 if문이 실행되며 id와 password중 하나라도 false이면 else문이 실행됨.

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

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

    } else {

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

    }

        </script>

    </body>

    </html>








    • !

    ! : 부정의 의미. true 앞에 !true 처럼 붙이면 이 값은 false가 됨.



    예제8

    <!DOCTYPE html>

    <html>
    <head>
        <meta charset="utf-8"/>
    </head>
    <body>
        <script>
    if(!true && !true){                  // 좌항과 우항이 모두 false 이기 때문에 실행안됨
    alert(1);
    }
    if(!false && !true){                 // 좌항은 true, 우항은 false이기 때문에 실행안됨
    alert(2);
    }
    if(!true && !false){                 // 좌항은 false, 우항은 true이기 때문에 실행안됨
    alert(3);
    }
    if(!false && !false){                // 좌항과 우항이 모두 true이기 때문에 실행됨
    alert(4);
    }
        </script>
    </body>
    </html>

    예제를 크롬에서 열게 되면 경고창으로 나타난다.

    경고창 답

    4












    c. boolean의 대체제


    숫자 1은 자바스크립트에서 true로 간주, 숫자 0은 false로 간주한다. (권장하는 방법은 아님 true, false를 사용하는게 더 좋음)



    예제9

    <!DOCTYPE html>

    <html>
    <head>
        <meta charset="utf-8"/>
    </head>
    <body>
        <script>
                    //자바스크립트에서 조건문에 빈 문자열을 넣으면 false로 간주하는데 앞에 !가 있기 때문에 true가 됨.
    if(!''){                                                     
    alert('빈 문자열')
    }

                    //자바스크립트에서 조건문에 undefined를 넣으면 false로 간주하는데 앞에 !가 있기 때문에 true가 됨.
    if(!undefined){
    alert('undefined');
    }

                   //자바스크립트에서 조건문에 값이 없는 a를 넣으면 false로 간주하는데 앞에 !가 있기 때문에 true가 됨.
    var a;
    if(!a){
    alert('값이 할당되지 않은 변수'); 
    }

                     //자바스크립트에서 조건문에 null을 넣으면 false로 간주하는데 앞에 !가 있기 때문에 true가 됨.
    if(!null){
    alert('null');
    }

                    //자바스크립트에서 조건문에 NaN을 넣으면 false로 간주하는데 앞에 !가 있기 때문에 true가 됨.
    if(!NaN){
    alert('NaN');
    }
        </script>
    </body>
    </html>

    예제를 크롬에서 열게 되면 차례대로 경고창으로 나타난다.

    경고창 답

    1. 빈 문자열

    2. undefined

    3. 값이 할당되지 않은 변수

    4. null

    5. NaN






    댓글

Designed by Tistory.