본문 바로가기
TIL/Javascript

/JavaScript/조건문 활용

by code_Cook 2021. 12. 24.
조건문 활용

 

조건문은 if의 ( ) 안에 true or false 값이 오면 상황에 따라 실행되는 코드가

달라지는 걸 알게 되었다. 이러한 사용 방법과 형식에 대해 알게 되었으니

사용해보자.

 

IF

지난번엔 버튼 1과 2를 만들어서 각각의 버튼을 클릭하였을 때

웹페이지의 배경색이 바뀌도록 만들어 보았다. 

 

이번엔 버튼 1개만으로 배경색을 변경할 수 있게 해 보았다.

좋은 예시로 들 수 있는 건 주간 모드와 야간모드를 설정하는 버튼을 만들어보는 것이다.

  <body>
    <input type="button" value="night" onclick="
      document.querySelector('body').style.backgroundColor = 'black';
      document.querySelector('body').style.color = 'white';
    ">
  </body>

위와 같이 만들게 되면 웹브라우저에 night라는 버튼이 생길 것이다.

눌렀을 때 배경색은 검정으로 변하고 텍스트가 있다면 하얀색으로 변경될 것이다.

 

그럼 다시 주간 모드로 바꿔야 할 텐데 그러면 버튼을 하나 더 만들어야 할 것이다. 하지만

if문(조건문)을 사용하면 하나의 버튼을 사용해서 변하게 할 수 있다.

<body>
    <input type="button" value="night" onclick="
      if(){
        document.querySelector('body').style.backgroundColor = 'black';
        document.querySelector('body').style.color = 'white';
      } else {
        document.querySelector('body').style.backgroundColor = 'white';
        document.querySelector('body').style.color = 'black';
      }
      ">
  </body>

이와 같이 조건문을 사용하여 코드를 입력하게 되면 하나의 버튼으로 서로 상반되는 효과를 주는 버튼 

즉 토글 버튼을 만들 수 있다. 

하지만 저 코드를 사용하려면 조건문에 true 나 false값이 와야 실행이 된다. 

그러기 위해선 저 버튼의 value값이 무엇인지 알아야 한다.

 

value값을 확인하는 방법은 콘솔을 사용하여 확인하는 방법이 있다. 

또 위 코드의 input 태그에 id 값을 부여하여 콘솔 창에

document.querySelector('#toggle'). value 이처럼 입력하게 되면

우리가 만들었던 버튼의 value 값을 가져오게 된다.

 

저 코드가 value값을 가져온다는 걸 알게 됐으니 조건문에 적용해보자

<body>
    <input type="button" value="night" onclick="
      if(document.querySelector('#toggle').value === 'night'){
        document.querySelector('body').style.backgroundColor = 'black';
        document.querySelector('body').style.color = 'white';
      } else {
        document.querySelector('body').style.backgroundColor = 'white';
        document.querySelector('body').style.color = 'black';
      }
      ">
  </body>

다음과 같이 조건문에 적용하여 비교 연산자를 통해 버튼의 값이 같으면 true 다르면 false를 인식하여

상황에 맞는 코드를 실행해 줄 것이다.

 

하지만 저 코드만으로는 실행이 안될 것이다. 버튼의 value가 night로 고정돼 있기 때문에 else문의 코드는

실행이 되지 않는다. 

그럼 다음과 같이 적용해보자!

    <input id="toggle" type="button" value="night" onclick="
      if(document.querySelector('#toggle').value === 'night'){
        document.querySelector('body').style.backgroundColor = 'black';
        document.querySelector('body').style.color = 'white';
        document.querySelector('#toggle').value = 'day';
      } else {
        document.querySelector('body').style.backgroundColor = 'white';
        document.querySelector('body').style.color = 'black';
        document.querySelector('#toggle').value = 'night';
      }
      ">

document.querySelector('#toggle'). value코드에 value값을 부여하게 되므로

버튼의 value값이 상황에 따라 바뀌게 되고 그에 따른 boolean 값으로

조건문을 실행하여 작동할 수 있게 한다.

 

'TIL > Javascript' 카테고리의 다른 글

/JavaScript/배열  (0) 2021.12.26
/JavaScript/리팩토링  (0) 2021.12.25
/JavaScript/조건문 형식  (0) 2021.12.23
/JavaScript/비교 연산자,boolean  (0) 2021.12.22
/JavaScript/태그 제어  (0) 2021.12.21