TIL 3. JS - 조건문, 비교연산자와 논리연산자

문승준·2021년 7월 30일
1

JavaScript

목록 보기
8/8
post-thumbnail

조건문

  • 다른 조건마다 다르게 동작시키고 싶을때 사용한다.
  • 주어진 조건식(conditional expression)의 참,거짓 결과에 따라 코드 블럭(블록문)의 실행을 결정한다.

1. 조건식과 불리언

  • 조건식은 불리언 값으로 평가될 수 있는 표현식이다.
if (조건식1) {
  // 조건식1이 참이면 이 코드 블록이 실행된다.
} else if (조건식2) {
  // 조건식2이 참이면 이 코드 블록이 실행된다.
} else {
  // 조건식1과 조건식2가 모두 거짓이면 이 코드 블록이 실행된다.
} 
// else if 과 else 는 옵션이다. if 나 else 는 한번씩만 가능.

2. 비교연산자

  • 비교 연산자 (==, ===, !=, !==, >, >=, <, <=)
    -> 동등비교(==) 사용에 유의해야 한다. 일치비교(===) 사용하자.
// 동등비교는 아래처럼 예측불가한 결과를 만들어낸다.
0 == ''             // true
0 == '0'            // true
false == 'false'    // false
false == '0'        // true
null == undefined   // true

// 일치비교시 NaN은 주의해야한다.
NaN === NaN // false (NaN은 자신과 일치하지 않는다. isNan 함수 활용)
  • 문자열 템플릿 리터럴 (ES6) - 백틱(`)과 ${}
let item = 'pizza'
console.log(`i like ${item}`) // 'i like pizza'

3. 논리연산자

  • && (and) 둘 다 참일때 true, 그외에는 false
console.log(1+1===2 && 1+1===3) // false
console.log(1+1===2 && 1+1===3) // false
console.log('cat' && 'dog') // 'dog'
console.log('' && false) // ''
console.log(false && '') // false
  • || (or) 둘 중 하나가 참일때 true, 그외에는 false
console.log(1+1===2 || 1+1===3) // true
console.log('cat' || 'dog') // 'cat'
console.log(false || 'dog') // 'dog'
console.log('cat' || false) // 'cat'
console.log('' || false) // false
console.log(false || '') // ''
  • ! (not) 참인 경우 false, 거짓인 경우 true
console.log(!false) // true
console.log(!'') // true
console.log(!'cat') // false

3-1. truthy 와 falsy

  • falsy 값 (거짓같은 값) : boolean을 기대하는 문맥에서 false로 평가

    false, 0, -0, 0n, "", null, undefined,NaN

  • falsy 값이 아니면 전부 truthy
let a = ''  //falsy 값
let b = 100 //truthy 값

if (a) {
  console.log('i am falsy') // a가 false로 평가되고
} else if (b) {
  console.log('i am truthy') // b가 true로 평가되니까
} // 'i am truthy' 가 출력된다

" truthy 나 falsy 가 있는 결과값은 어떤 기준으로 나올까? " 🤔

profile
개발자가 될 팔자

2개의 댓글

comment-user-thumbnail
2021년 8월 2일

weQuiz 1등 승준님 저와의 티타임 잊지않으셨죠?! :)
개강해서 빨리 티타임 가질 날을 기다리고 있겠습니다😀

1개의 답글