자바스크립트 DeepDive

나쿠크·2023년 12월 29일
0

09. 타입 변환과 단축 평가


자바스크립트의 모든 값은 타입이 있다

  • 명시적 타입 변환 (타입 캐스팅) : 개발자가 의도적으로 값의 타입을 변환하는 것
  • 암묵적 타입 변환(타입 강제 변환) : 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되는 것

🚩이 때 기존 원시 값이 직접 변경 되는 것은 아니다! 기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성해 내는 것이다.
(⭐원시값은 변경 불가능한 값이라 변경할 수 없다)


암묵적 타입 변환의 경우, 다른 타입의 새로운 원시 값이 재할당 되는 개념이 아니라 새롭게 생성돼서 한번만 사용되고 버려지는 개념이다.


개발자의 의도를 코드에서 예측할 수 있는 명시적 타입 변환에 비해 암묵적 타입 변환은 개발자의 의도를 예측하기 어렵다. 이런 타입 변환을 예측하지 못한다면 오류를 발생시킬 확률이 높기때문에 나와 내 코드를 볼 동료가 예측 가능한 코드를 만들어야 좋은 코드라고 할 수 있다! (때문에 타입스크립트를 선호 하는듯 하다!)

  1. Truthy / Falsy 값 판별하는 함수
//전달받은 인수가 Falsy 값이면 true, Truthy 값이면 false를 반환한다.
function isFalsy(num){
 return !num; 
}

//전달받은 인수가 Truthy 값이면 true, Falsy 값이면 false를 반환한다.
function isTruthy(num){
 return !!num; 
}

0개의 댓글