본문 바로가기

IT 인터넷/javascript

[javascript 언어공부] 조건문(2)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

지금까지 배웠던 조건문은 if 괄호 조건 안에 항상 true/false가 있었다.


이는 if안에 boolean이 들어간 다는 것을 설명하기 위해서 이며, 괄호 안에 true/false가 고정돼어 있는 것은 조건문으로서는 소용이 없다.


다만, if 문 괄호 안에 boolean이 들어간 다는 것만 확실하게 알아두자! 



이번에는 조건문과 변수가 결합하는 것을 확인할 수 있다.


a = 1;

if (a === 1){

alert(1)

}


이 코드에서는 a 변수의 값에 따라 if 문 괄호 안이 true도 될 수 있고, false도 될 수 있다.

조건문이 상황에 따라 다른 실행을 하는 가변적인 결과를 내보이는 것이다.



이제 설명할 부분을 알기 위해서 알아야 할 명령이 하나 있는데, 바로 prompt() 이다.


var age = prompt('당신의 나이는?')

을 입력 후 실행시키면 다음과 같이 뜬다 ( 콘솔에서는 안된다.. 따로 내가 페이지를 만들고 script 안에 내장한 prompt 명령만 실행된다. ) 





prompt는 우리가 어떤 값을 사용자로부터 받을 수 있는 창이다. 

사용자가 여기서 20이라고 입력 후 확인버튼을 누르면 age는 20이 된다.


지금 본 prompt라는 부품과 지금까지 숱하게 본 alert이라는 부품을 조합해보자.


alert(prompt('당신의 나이는?'));


이라고 실행하면 어떻게 될까?


우선 alert안에 있는 prompt가 먼저 실행된다.


prompt 창 안에 20을 누르고 확인을 누르면 


alert(20); 이라는 명령이 되고 


경고창에 '20' 이라는 것이 뜰 것이다. 




그럼 다음과 같은 코드를 입력해보자 


  <script>


    var id = prompt('아이디를 입력해주세요.');    // id 값은 prompt 명령을 통해 사용자로부터 입력받은 값이다. 

    if (id === 'estelar') {                           // 만약 사용자가 prompt창에 estelar를 입력했다면

      alert('아이디가 일치합니다.')               // '아이디가 일치합니다'라는 경고창을 띄우고 

    }else {                                             // 만약 사용자가 prompt창에 estelar가 아닌 다른 문자를 입력했다면,

      alert('아이디가 일치하지 않습니다.')     // '아이디가 일치하지 않습니다' 라는 경고창을 띄운다. 

    };


  </script>


이는 로그인 할 때 사용하는 로직으로, 실질적으로는 이것보다 더 복잡하지만 본질적으로는 같다.

바로 이런 조건문이 있기 때문에  어떤 상황에서는 어떤 일이 일어나고, 어떤 상황에서는 어떤 일이 일어난다는 것을 

컴퓨터 답게 처리할 수 있는 것이며,


이것이 계산기와 컴퓨터가 다른 이유이다. 


하지만 id만 받는 것은 미완성이며, password도 입력 받는 코드를 한번 살펴보자. 


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

    if (id === 'estelar') {                      

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

    }else {                                        

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

    };


상단 코드에서 어느 시점에 password를 입력받아야 할까? 

우선 id가 틀리면 password를 받을 필요도 없으니 패스할 수 있다.

따라서 아이디가 일치했을 때, 사용자에게 password를 받는다. 


    if (id === 'estelar') {                      

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

var password = prompt('패스워드를 입력하세요.');

    }else {                                        

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

    };


패스워드를 입력 했으니, 패스워드가 맞으면 '로그인 하셨습니다.'를, 틀리면 '패스워드가 일치하지 않습니다.' 라는 경고창을 띄울것이다.

이 모든 조건문은 아이디가 일치했을 경우에만 뜨는 조건문이다.


    if (id === 'estelar') {                      

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

var password = prompt('패스워드를 입력하세요.');

      if (password === '12345') {                        //패스워드가 12345와 같으면 

        alert('로그인 하셨습니다.')                          // '로그인 하셨습니다.'라는 경고창을 띄우고

      }else {                                                     //패스워드가 12345가 아닌 경우에는

        alert('패스워드가 일치하지 않습니다.')          // '패스워드가 일치하지 않습니다.'라는 경고창을 띄운다. 

      }

    }else {                                        

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

    };


여기서 좀 더 응용해보면 


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

    if (id === 'estelar') {

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

      if (password === '12345') {

        alert('로그인 하셨습니다.'+id+'님 반갑습니다.')       //입력된 id값을 통해 'estelar님 반갑습니다' 라는 메세지를 띄울 수 있다.

      }else {

        alert('패스워드가 일치하지 않습니다.')

      }

    }else {

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

    };