조건문이 🔑왜 필요한지 단디 알아내도록!
- ♂️제어문은 프로그램의 순차적인 흐름(위->아래)을 인위적으로 제어해야 할 때 사용하는 실행문이다.
- 제어문에 포함된 것이 바로 조건문, 반복문이다!
💡 제어문의 단점?)
- ❌단점❌ - 제어문은 코드의 순서를 인위로 변경하기 때문에 순차적으로 위에서 아래로 진행되는 직관적인 코드보단 코드의 흐름 파악을 파악하는데 있어서 가독성을 해치는 단점이 있다.
- ⭕BUT, foreach, map, filter, reduce 같은 고차 함수를 사용한 함수형 프로그래밍 기법에선 이러한 제어문의 사용을 억제해 복잡성을 해결할 수 있다아!
- 조건문 - 조건(조건식의 평가 결과)에 따라 코드 블록(블록문)의 실행을 결정할 때 사용하는 문법이다.
- 반복문 - 조건식의 평가 결과가 참인 경우 실행, 다시 조건식을 평가해 여전히 참이면 코드 블럭을 실행하여 조건식이 거짓이 될 때까지 반복하여 실행할 때 사용하는 문법이다.
-> 즉, 조건문은 조건에 따라 코드 블록을 실행하고 & 반복문은 조건에 따라 반복 실행한다.
-만약(IF) 피곤하다면(조건A) 잠에들고(A에 따른 결정)
그렇지 않으면(조건B) 일어나서 하루를 시작한다(B에 따른 결정).
-WHY & WHNE USE❔❕
- ✅프로그래밍 세계 조건문이 필요한 이유는 조건문을 통해 많은 상황 즉 조건에 따른 결정을 만듦으로서 이러한 현실의 상황을 모델링할 수 있다는 점 때문이다.
-WHAT IS❓
- 조건문은 주어진 조건식의 평가 결과에 따라 블록의 실행을 결정할 때 쓰이고 조건식은 불리언 값으로 평가될 수 있는 표현식으로 나타난다.
- 간략히 말하면 특정한 조건을 확인하고 해당 조건에 따라 어떠한 작업을 수행하게 해주는 문법이다.
-HOW TO USE❕❓
- if문은 주어진 조건식의 평가 결과(논리적 참 또는 거짓)에 따라 실행할 코드 블록을 결정해 조건식이 참인 경우 해당하는 if문과 else if문을 실행하고 if, else if에 모두 해당하지 않으면 else에 있는 코드블록이 실행된다.
- if 키워드 뒤에 (), 괄호를 적고 안에 참과 거짓으로 평가되는 조건을 제공한다.
- 조건이 들어간 ()뒤엔 블록 문을 {},중괄호로 표시한 뒤 조건이 참이면 블록 문 {}, 내부에 적은 코드 내역이 실행된다.
- else if 키워드 역시 (), 괄호 안에 조건을 넣고 블록문, {}안에 조건이 참일 때 실행될 코드를 적을 수 있고 else if는 원하는 조건 만큼 추가하여 사용할 수가 있다.
- 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를 반환한다는 사실을 잊지말자아
-HOW TO USE❕❓
- switch 문은 조건을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 순서를 이동시키는 구조를 가졌다.
- swich 키워드 if..else문 처럼 뒤에 (), 괄호를 적고 안에 참과 거짓으로 평가되는 조건을 제공한다.
- 조건이 들어간 ()뒤엔 블록 문을 {},중괄호를 표시한 뒤 중괄호 안에 조건의 값들을
case
키워드 앞에case valus1:
,case valus2:
,case valus3:
와 같이 적어준다.case valus1:
조건의 값이 참이면 실행할 코드statement1
를 세미클론 뒤에 적어준 뒤
break
키워드를 사용해 조건이 맞아break
를 만나게 되면 그 이후의 비교는 실행되지 않으며, switch문을 종료한다.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>
- 제어문 VS 조건문? 제어문은 프로그램의 인위적인 흐름을 제어할 때 상요하는 실행문으로 제어문에 조건문과 반복문이 포함된다.
- 조건문 VS 반복문? 조건문은 조건에 따라 코드 블록을 실행하고 반복문은 조건에 따라 코드 블록을 반복해서 실행한다.
- 왜 조건문을 쓰냐구? 프로그래밍 언어의 문법인 조건문으로 상황에 따른 결정을 만들어 현실의 모습(조건에 따라 결정이 일어나는)을 모델링할 수 있기 때문에!
- 코드아카데미 조건문 - https://www.codecademy.com/