[Javascript] 조건문, 반복문, 변수 할당에서 비교연산자 사용 가능 유무

챔수·2023년 2월 21일
0

개발 공부

목록 보기
7/101

1. 조건문

조건문의 종류에는 ifswith 두 종류가 있는데 오늘 배운 내용은 if문에 관한 내용만 배웠기에 if문을 먼저 알아보겠다.

1-1 if

javascript의 if문은 if( 조건식 ) 영역이 이면, { } 코드 블록 사이의 실행문을 1회 실행한다. if ( 조건식 ) 영역이 거짓이면, if문을 탈출한다.

<script>
  if ( 조건식 )
  {
    실행문 A;    //조건식이 참이면 실행
  }
  ...
</script>

1-2 else

else {} 코드 블록에는 if ( 조건식 )이 거짓일 경우 실행될 코드를 입력한다.

<script>
  if ( 조건식 )
  {
    실행문 A;      //조건식이 참일 경우 실행
  }
  else
  {
     실행문 B;     //조건식이 거짓일 경우 실행
  }
</script>

1-3 else if

두 개 이상의 조건식을 사용하고 싶을 때 사용할 수 있는 조건문. if, else if, else의 세 가지 형태의 명령어를 모두 사용한다.

<script>
 if ( 조건식 A )
 {
   실행문 a;          //조건식 A가 참일 때 실행
 }
 else if ( 조건식 B )
 {
   실행문 b;          //조건식 A가 거짓, 조건식 B가 참일 때 실행
 }
 else
 {
   실행문 c;          //조건식 A와 B가 모두 거짓일 때 실행
 }
</script>
  • if ( 조건식 A )가 참이면, if {} 코드 블록 내부의 실행문 a가 작동한다. 조건식 A가 거짓일 경우 else if ( 조건식 B )로 이동. 조건식 B가 참이면, else if { } 코드 블록 내부의 실행문 b가 실행된다. 조건식 B가 거짓이면 else { } 코드 블록 내부의 실행문 c가 마지막으로 실행된다.

https://dasima.xyz/javascript-if-conditions/

2. 반복문

반복문은 동일한 코드를 반복해야되는 경우에 작성하면 좋은 문법이다.

2-1 while 반복문

반복문의 문법은 다음과 같이 쓴다.

while (condition) {
  // 코드
  // '반복문 본문(body)'이라 불림
}

condition(조건)이 truthy 이면 반복문 본문의 코드가 실행된다.
만약 i<3을 만족할 동안 i가 1씩 커지는 값을 출력하고 싶을때는

let i = 0;
while (i < 3) { // 0, 1, 2가 출력됩니다.
  alert( i );
  i++;
}

이렇게 표현 해 주면 된다.
반복문 본문이 한 번 실행되는 것을 반복(iteration, 이터레이션) 이라고 부른다. 위 예시에선 반복문이 세 번의 이터레이션을 만든다.

2-2 do...while 반복문

do..while 문법을 사용하면 condition을 반복문 본문 아래로 옮길 수 있습다.

do {
  // 반복문 본문
} while (condition);

이때 본문이 먼저 실행되고, 조건을 확인한 후 조건이 truthy인 동안엔 본문이 계속 실행된다.

2-3 for 반복문

for반복문의 문법은 다음과 같다.

for (begin; condition; step) {
  // ... 반복문 본문 ...
}

예시로

for (let i = 0; i < 3; i++) { // 0, 1, 2가 출력됩니다.
  alert(i);
}

0, 1, 2 숫자가 하나씩 나오는 alert가 나오는 코드는

// for (let i = 0; i < 3; i++) alert(i)

// begin을 실행함
let i = 0
// condition이 truthy이면 → body를 실행한 후, step을 실행함
if (i < 3) { alert(i); i++ }
// condition이 truthy이면 → body를 실행한 후, step을 실행함
if (i < 3) { alert(i); i++ }
// condition이 truthy이면 → body를 실행한 후, step을 실행함
if (i < 3) { alert(i); i++ }
// i == 3이므로 반복문 종료

이런 과정을 거쳐서 반복해준다.

3. 변수 할당에서 비교연산자 사용 가능 유무

지금까지 학습한 내용에서는 변수 할당시 어떤값이라도 들어가는것으로 알고 있었다.
학습도중

if(0 <= hour && hour < 24 && 0 <= minute && minute < 60 && 0 <= second && second < 60){
    return `1초 뒤에 ${hour}시 ${minute}분 ${second + 1}초 입니다`
  }

이런 코드를 짜게 됬는데 if의 조건식이 너무 길어져 가독성도 떨어지고 그 뒤에 나올 코드들을 짜는것도 불편한 상황이었다. 그래서 변수을 선언해 할당해 사용하려고했는데 처음에는 funtion 에 있는 파라미터를 사용해 변수 선언을 해서 잘 안된것 같았다. 여러가지 검색을 했어도 원하는 답을 찾을 수 없었고 여러 실험 결과 변수 선언을 잘 못 한것 같았다.

  let h = 0 <= hour && hour < 24;
  let m = 0 <= minute && minute < 60;
  let s = 0 <= second && second < 60;
  
  if(h && m && s){
    return `1초 뒤에 ${hour}시 ${minute}분 ${second + 1}초 입니다`
  }
  • 함수 파라미터가 아닌 새로운 변수선언을 하니 잘 된 모습니다.
profile
프론트앤드 공부중인 챔수입니다.

0개의 댓글