6 분 소요

이웅모 저자의 모던 javascript deep dive를 공부한 내용을 정리한 글입니다.

타입 변환이란?

  • 개발자의 의도대로 타입을 변환하는 것 : 명시적 타입 변환, 타입 캐스팅
  • 개발자의 의도와 상관 없이 타입을 변환하는 것 : 암묵적 타입 변환, 타입 강제 변환
  • 타입 변환을 한다고 해서 원시 값이 변경되지 않음
  • 타입 변환은 기존 원시 값을 사용해 새로운 타입을 생성하는 것
// 명시적 타입 변환
var x = 10;
var str = x.toString();

console.log(typeof str, str); // string 10
console.log(typeof x, x);     // number 10
// 암묵적 타입 변환
var x = 10;
var str = x + '';

console.log(typeof str, str); // string 10
console.log(typeof x, x);     // number 10
1 + '2'  // 12
`1 + 1` = ${1 + 1}  // "1 + 1 = 2"

Truthy값과 Falsy값

  • Falsy 값들
    • false
    • undefined
    • null
    • 0, -0
    • NaN
    • ’’
// Truthy, Falsy 값을 판별하는 함수
function isFalsy(v){
  return !v;
}

function isTruthy(v){
  return !!v;
}

단축 평가

  • 논리 연산자 표현식의 평가 결과가 불리언 값이 아닌 경우
// && : Dog 까지 봐야 truthy를 판단할 수 있기 때문에 Dog가 출력
// || : Cat 만 봐도 truthy를 판단할 수 있기 때문에 Cat이 출력
'Cat' && 'Dog'    // "Dog"
'Cat' || 'Dog'    // "Cat"

댓글남기기