JavaScript - 조건문이 왜 필요혀?

김민재·2021년 7월 27일
0

TIL, Deep Javascript

목록 보기
8/22
post-thumbnail

(이미지 출처 : https://www.codecademy.com/courses/introduction-to-javascript/lessons/control-flow/exercises/review-control-flow)

*🔐Study Keyword :

조건문이 🔑왜 필요한지 단디 알아내도록!

🤷‍♂️잠깐❕ 제어문이랑 조건문은 뭐가 다른뎅..❔❕

  • ♂️제어문은 프로그램의 순차적인 흐름(위->아래)을 인위적으로 제어해야 할 때 사용하는 실행문이다.
  • 제어문에 포함된 것이 바로 조건문, 반복문이다!

💡 제어문의 단점?)

  • ❌단점❌ - 제어문은 코드의 순서를 인위로 변경하기 때문에 순차적으로 위에서 아래로 진행되는 직관적인 코드보단 코드의 흐름 파악을 파악하는데 있어서 가독성을 해치는 단점이 있다.
  • ⭕BUT, foreach, map, filter, reduce 같은 고차 함수를 사용한 함수형 프로그래밍 기법에선 이러한 제어문의 사용을 억제해 복잡성을 해결할 수 있다아!

💁‍♂️조건문과 반복문은 또 뭐야..?

  • 조건문 - 조건(조건식의 평가 결과)에 따라 코드 블록(블록문)의 실행을 결정할 때 사용하는 문법이다.
  • 반복문 - 조건식의 평가 결과가 참인 경우 실행, 다시 조건식을 평가해 여전히 참이면 코드 블럭을 실행하여 조건식이 거짓이 될 때까지 반복하여 실행할 때 사용하는 문법이다.
    -> 즉, 조건문은 조건에 따라 코드 블록을 실행하고 & 반복문은 조건에 따라 반복 실행한다.

- 조건문을 왜 쓸까?

-만약(IF) 피곤하다면(조건A) 잠에들고(A에 따른 결정)
그렇지 않으면(조건B) 일어나서 하루를 시작한다(B에 따른 결정).

-WHY & WHNE USE❔❕

  • 현실세계에선 우리는 이렇게 상황에 따라 많은 매우 일상적인 결정을 많이 내린다.
  • 이는 우리의 일상 전부가 조건(상황)과 결정의 연속임을 알려준다.
  • ✅프로그래밍 세계 조건문이 필요한 이유는 조건문을 통해 많은 상황 즉 조건에 따른 결정을 만듦으로서 이러한 현실의 상황을 모델링할 수 있다는 점 때문이다.

-WHAT IS❓

  • 조건문주어진 조건식의 평가 결과에 따라 블록의 실행을 결정할 때 쓰이고 조건식불리언 값으로 평가될 수 있는 표현식으로 나타난다.
  • 간략히 말하면 특정한 조건을 확인하고 해당 조건에 따라 어떠한 작업을 수행하게 해주는 문법이다.
  • 자바스크립트에서는 1> if..else문과 2> switch문 총 두 가지 조건문이 있다.

1>if..else문

-HOW TO USE❕❓

  • if문은 주어진 조건식의 평가 결과(논리적 참 또는 거짓)에 따라 실행할 코드 블록을 결정해 조건식이 참인 경우 해당하는 if문과 else if문을 실행하고 if, else if에 모두 해당하지 않으면 else에 있는 코드블록이 실행된다.
  1. if 키워드 뒤에 (), 괄호를 적고 안에 참과 거짓으로 평가되는 조건을 제공한다.
  2. 조건이 들어간 ()뒤엔 블록 문을 {},중괄호로 표시한 뒤 조건이 참이면 블록 문 {}, 내부에 적은 코드 내역이 실행된다.
  3. else if 키워드 역시 (), 괄호 안에 조건을 넣고 블록문, {}안에 조건이 참일 때 실행될 코드를 적을 수 있고 else if는 원하는 조건 만큼 추가하여 사용할 수가 있다.
  4. else 키워드와 {}블록을 적어주고 조건이 거짓일 경우 블록 문 {}, 내부에 적은 코드 내역이 실행된다.
  • 조건문의 조건이 2가지로만 구성되면 if..else문을 사용하고
    여러가지 조건을 더 추가하길 원할 때 if..else if..else를 쓴다..!
<script>
let sleepOfLevel = 10;
if (sleepOfLevel < 3) {
  console.log('get up, man!');
} else if (sleepOfLevel <= '6') {
  console.log('study hard, man!');
} else if (sleepOfLevel < 9) {
  console.log('go to bed, man!');
} else {
  console.log('Caution, unknown!');
}
</script>

💡비교 연산자)

  • 조건식을 작성 할 때 다양한 값을 비교하기 위해서 비교 연산자가 필요하다.
  • < - 더 작을 때, > - 더 클때, <=- 작거나 같을 때, >= - 크거나 같을 때, === - 같을 때, !== - 같이 않을 때 등이 있다.
  • ===의 경우 타입 까지 일치해야 true를 반환한다는 사실을 잊지말자아

2>switch문

-HOW TO USE❕❓

  • switch 문은 조건을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 순서를 이동시키는 구조를 가졌다.
  1. swich 키워드 if..else문 처럼 뒤에 (), 괄호를 적고 안에 참과 거짓으로 평가되는 조건을 제공한다.
  2. 조건이 들어간 ()뒤엔 블록 문을 {},중괄호를 표시한 뒤 중괄호 안에 조건의 값들을 case 키워드 앞에case valus1:, case valus2:, case valus3: 와 같이 적어준다.
  3. case valus1: 조건의 값이 참이면 실행할 코드 statement1를 세미클론 뒤에 적어준 뒤
    break 키워드를 사용해 조건이 맞아 break를 만나게 되면 그 이후의 비교는 실행되지 않으며, switch문을 종료한다.
  4. default 키워드는 switch문의 가장 마지막에 위치시켜 default: 문의 실행이 종료되면 switch 문을 빠져나가기 때문에 break 키워드는 생략하는 것이 일반적이다.
  • 조건문에 사용되는 조건의 값들이 너무 다양하거나 조건에서 비교할 값들이 많은 경우 if..else문의 대안으로 switch문을 사용하면 읽거나 쓰기 쉬워 가독성을 높일 수 있다.
<script>
let sleepOfLevel = 10;
switch (sleepOfLevel//조건) {
  case sleepOfLevel < 3: // case value1
  console.log('get up, man!');//statement1
    break;
  case sleepOfLevel <= 6:// case value2
  console.log('study hard, man!');//statement2
    break;
  case sleepOfLevel < 9:// case value3
  console.log('go to bed, man!');//statement3
    break;   
  ...
  default:
  console.log('Caution, unknown!');//조건이 모두 참이 아닐 경우 실행후 switch문 빠져나간다.
}
</script>

*💡conclusion

  • 제어문 VS 조건문? 제어문은 프로그램의 인위적인 흐름을 제어할 때 상요하는 실행문으로 제어문에 조건문과 반복문이 포함된다.
  • 조건문 VS 반복문? 조건문은 조건에 따라 코드 블록을 실행하고 반복문은 조건에 따라 코드 블록을 반복해서 실행한다.
  • 왜 조건문을 쓰냐구? 프로그래밍 언어의 문법인 조건문으로 상황에 따른 결정을 만들어 현실의 모습(조건에 따라 결정이 일어나는)을 모델링할 수 있기 때문에!

#📑Study Source

  1. 코드아카데미 조건문 - https://www.codecademy.com/
profile
자기 신뢰의 힘을 믿고 실천하는 개발자가 되고자합니다.

0개의 댓글