# ch-조건문(conditional)
- truthy, falsy가 조건문에서 작동하는 방식 이해
- 비교 연산자를 통한 엄격한 비교(===, !==) 이해
- if, else if, else를 이해
- 논리연산자(&&, ||, ! …) 사용해보기
- 복잡한 조건문을 활용하여 실생활 문제 해결 알고리즘 구현
# 조건문 기초
Boolean 타입에 대한 이해
조건문은 어떤 조건을 판별하는 **기준**을 만드는 것
조건문에는 반드시 **비교 연산자**가 필요
- < , > , ===(같다), !==(다르다)
- 비교의 결과는 항상 Boolean, 즉 true 또는 false 이다
==, != 은 느슨한 비교이므로 사용하지 않는 것이 좋다!
→ 예외 케이스가 많아서 정확한 결과를 도출하기 어렵기 때문
# 조건문 사용법
if(조건1){
…
} else if(조건2){
…
} else{
…
}
# 두가지 조건이 한번에 적용되는 경우?
→ 논리 연산자 이용
ex) 학생이면서 여성일 때 통과
isStudent && isFemale; //and 연산자
ex) 학생이거나 여성일 때 통과
isStudent || isFemale; //or 연산자
ex) 학생이 아니면서 여성일 때 통과
!isStudent && isFemale; //not 연산자(truthy, falsy 여부를 반전시킴)
- 논리연산자 NOT
!false //true
!(3>2) //false
!undefined //true ← undefined를 false로 취급하기때문(falsy)
!’hello’ //false ← ‘hello’를 true로 취급(truthy)
- 기억해야 할 6가지 falsy 값
→ 다음은 if 문에서 false로 변환되므로 if 구문이 실행되지 않음
1. if(false)
2. if(null)
3. if(undefined)
4. if(0) // 0은 false 취급 1은 true
5. if(NaN) //Not a Number
6. if(‘ ‘) // 빈 스트링
조건문 문제로 에러 메세지 알아보기
에러 메시지를 잘 해석하는 습관은 버그를 해결할 수 있는 가장 빠른 방법
- 문제의 요구사항 읽기
- 테스트 케이스 확인
- 테스트가 통과하지 않은 이유를 확인
; 보통 다음과 같은 결과가 출력됨
→ “true를 리턴하길 기대했지만, 실제로는 undefined라는 값이 리턴되었다” 라는 의미expected undefined to be true
이렇게 문제가 되는 부분을 추적하는 과정을 디버그라 하고 디버그를 실시하는 것을
디버깅 이라고 한다.
- 조건문 문제로 배우는 알고리즘
알고리즘?
→ 어떤 문제를 해결하기 위한 일련의 절차나 방법을 정해진 형태로 표현한 것
→ 근본적인 문제 해결 능력이 중요하다
프로그램의 절차 하나하나를 우리가 실제로 사용하는 일반적인 언어(자연어) 로 작성하는 방법을 수도코드(pseudocode)라고 합니다.
→ 컴퓨터가 이해할 수 있는 언어는 아니나 이를 통해 알고리즘 정리 가능
- 문제 해결 과정
알고리즘 파악→ 문제 분해→ 수도코드 작성 → 코드로 옮기기
- *문제와 해결 방법을 분해해서 생각하는 것이 필요하다*'SE Bootcamp 내용 정리' 카테고리의 다른 글
| html 기초 (0) | 2021.08.27 |
|---|---|
| js - 반복문 (0) | 2021.08.26 |
| js - 문자열 (0) | 2021.08.25 |
| <SEB Full 34th 1주차-2> (0) | 2021.08.24 |
| SEB Full 34th 시작 (0) | 2021.08.23 |
