TIL: 13일차 "조건문과 반복문"

mr.ginger·2021년 4월 17일
0

자바스크립트를 사용하는 핵심은, 동적인 기능을 부여하는데에 있다. 그러기 위해서는 브라우저가 ~할때, ~한다와 같은 조건을 걸어 놓을 필요가 있다.
우리가 클릭을 했을때, 메뉴를 열어라와 같이 말이다.
이를 위한 자바스크립트 문법으로 조건문이라는것이 있다.

if~else문

if조건문의 사용법은

if(a === b){
  consle.log(a)
} else {
  console.log(b)
}

와 같은 식으로 나타 낼 수 있다.
읽는 방법은 a와 b가 일치한다면 a를 출력하고, 일치하지 않는다면 b를 출력하라.라는 조건문이다.
즉 (a===b)가 있는 부분은 조건을 입력하는 부분이고, 그 뒤에는 if가 참일때 사용 되는 구문이고, else가 있는 부분은 거짓일때 사용되는 구문이다.
if문을 사용할때는 반드시 else가 있어야 하는건 아니지만, 당연하게도 else문 단독으로는 사용 할 수 없다.

조건문에는 else if라는 구문도 있다. else if란 if의 조건에 대한 값이 참이 아닐때, 그렇다면 다음 조건을 제시하는 방식으로 작동한다.
a라는 조건이 거짓이라면 b, 그게 또 거짓이라면 c라는 방식이다.
그리고 제시한 조건이 모두 거짓이라면 else문을 택한다.

if 조건문은 조건문 안에 다시 조건문을 넣을 수 있다.

if(a===b){
  if(c===d){
    console.log(c)
  }
}

와 같이 if문 안에 if문을 넣어도 문제없이 기동한다. 이것은 첫번째 식이 참일때, 두번째 조건을 물어보고 그것이 참이면 실행, 거짓이면 else문이 사용 된다.

switch~case문

if문과는 다른 조건문으로 switch문이라는 조건문이 있다.
이 구문은 다수의 case를 걸어두고, 조건이 case와 일치하면 해당 코드를 사용하는 방식을 취하고 있다.
만약 case중에 일치하는것이 없다면, default가 실행된다.
MDN에서 예제 코드를 가져와보면,

switch (expression) {
  case choice1:
    run this code
    break;
  case choice2:
    run this code instead
    break;
  // include as many cases as you like
  default:
    actually, just run this code
}

와 같이 나타낼 수 있다.

위의 코드에서 break라는 구문은 "해당 시점에서 반복을 종료하라" 라는 의미를 가지고 있다. 이는 continue와 함께 반복문에서 함께 다루도록 하겠다.

반복문

반복문은 특정 조건이 주어졌을때, 해당 구문을 반복 실행시키는 구문이다.
이는 숫자의 연산등에도 사용 할 수 있지만,숫자의 연산 외에도 여러가지 방법으로 응용해서 사용하는것이 가능하다.
반복문에는 while문과 for문이 있다.

while문

while문은 처음에 조건을 받고, 그 조건이 거짓이 될때까지 실행부분을 반복하여 실행한다.
예제 코드를 보자면,

let n = 0;
let x = 5;

while(n < 5){
  n++;
  x += n;
}

와 같이 나타내며, n이 5가 될때까지 반복되어 실행된다.

이와 비슷하게 do while이라는 구문도 있는데,
do while은 do에 들어가는 특정 구문이 거짓이 될때까지 반복 실행하는 구문이다.

그렇다면 조건문에 들어오는 조건이 항상 참이면 어떻게 될까?
조건이 거짓이 되는 부분이 오지 않기때문에 while문은 무한히 해당 구문을 반복할 것이다.
이를 무한루프라 부르며, 이를 정지 시키기 위해서는 특정한 구문이 필요하다.

바로 break다.
break는 구문이 실행되면 루프를 즉시 종료시키기에, while에 들어오는 조건이 참이라 해도 특정시점이 되면 멈추는것이 가능하다.
앞서 말했던 continue는 해당 구문을 스킵하고, 루프를 지속시키는 특징이 있다. 해당 값을 출력하지 않고, 그냥 지나가는것이다.

for문

for문은 while과는 다르게 정지점을 정해놓고 사용하는 반복문이다.
for문은 맨처음 상태를 나타내는 초기식, 조건문, 증감식 세부분으로 나뉘는데,

for(초기식;조건문;증감식){
  실행부분
}

으로 나뉜다.

for(let i = 0; i < 10; i++){
  console.log(i);
}

예시를 들자면 위의 코드는 0의 값을 갖는 i를 9까지 반복해서 출력하는 코드이다.

이처럼 단순하게 보자면 단순하게 보이지만, 반복문과 조건문은 자주 사용하는편이기에, 응용하는 방법을 확실하게 알아두고 여러번 사용하며 경험할 필요가 있다.

0개의 댓글