js - 조건문(conditional)

2021. 8. 24. 17:38·SE Bootcamp 내용 정리
# 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(‘ ‘) // 빈 스트링

조건문 문제로 에러 메세지 알아보기

에러 메시지를 잘 해석하는 습관은 버그를 해결할 수 있는 가장 빠른 방법

  1. 문제의 요구사항 읽기
  2. 테스트 케이스 확인
  3. 테스트가 통과하지 않은 이유를 확인
    ; 보통 다음과 같은 결과가 출력됨
    expected undefined to be true
    → “true를 리턴하길 기대했지만, 실제로는 undefined라는 값이 리턴되었다” 라는 의미

이렇게 문제가 되는 부분을 추적하는 과정을 디버그라 하고 디버그를 실시하는 것을
디버깅 이라고 한다.

  • 조건문 문제로 배우는 알고리즘
    알고리즘?
    → 어떤 문제를 해결하기 위한 일련의 절차나 방법을 정해진 형태로 표현한 것
    → 근본적인 문제 해결 능력이 중요하다

프로그램의 절차 하나하나를 우리가 실제로 사용하는 일반적인 언어(자연어) 로 작성하는 방법을 수도코드(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
'SE Bootcamp 내용 정리' 카테고리의 다른 글
  • js - 반복문
  • js - 문자열
  • <SEB Full 34th 1주차-2>
  • SEB Full 34th 시작
레실이
레실이
  • 레실이
    레실이의 티스토리
    레실이
  • 전체
    오늘
    어제
    • 분류 전체보기 (91)
      • SE Bootcamp 내용 정리 (63)
      • 알고리즘 연습 (7)
      • Project 주저리 (4)
      • 기술 면접 source (3)
      • 개발 일상 (12)
      • 생성 AI 활용 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    react
    CSS
    Linux
    자료구조
    PickAndDrink
    CORS
    ORM
    객체
    Ajax
    데이터베이스
    node
    인증/보안
    CSR
    JS
    fastapi
    MVC
    node.js
    알고리즘
    문자열
    state
    비동기
    DOM
    ubuntu
    JavaScript
    useRef
    mongoDB
    promise
    Python
    IT
    useState
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
레실이
js - 조건문(conditional)
상단으로

티스토리툴바