타입 변환과 단축 평가

타입 변환의 종류

  • 명시적 타입 변환(Explicit Coercion): 개발자가 의도적으로 타입을 변환하는 것
  • 암묵적 타입 변환(Implicit Coarction): 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 타입이 자동으로 변환되는 것

타입 변환의 동작 원리

타입 변환은 주로 원시값 간에 발생하지만, 객체 → 원시값 변환도 가능하다.

원시값은 변경 불가능하므로 타입 변환 시 항상 새로운 원시값 생성 후 기존 값은 가비지 컬렉션 대상이 된다.

단축 평가

단축 평가는 논리 연산자(&&, ||)가 표현식을 평가할 때 결과가 확정되는 시점에서 평가를 중단하는 동작 방식을 의미한다.
논리 연산의 최종 결과가 결정되면 나머지 피연산자는 평가하지 않고 바로 반환한다.

단축 평가가 시행되는 이유는 단축 연산이 시행되더라도 연산 결과가 동일하기 때문이다.

단축 연산의 장점

  • 불필요한 연산 회피
  • 조건문 대체 가능
  • 기본값 설정에 활용 가능

단축 평가의 동작 방식

  1. 논리합(||) 연산자
  • 좌항의 피연산자가 truthy → 즉시 반환
  • 모두 falsy → 마지막 피연산자 반환
  1. 논리곱(&&) 연산자
  • 우항의 피연산자가 falsy → 즉시 반환
  • 모두 truthy → 마지막 피연산자 반환

단축 평가는 논리 연산의 결과로 피연산자 자체를 반환한다.

주의사항

  • 반환값은 피연산자의 원본 타입 그대로 유지된다.
  • falsy 값이 유효한 데이터로 사용되는 경우, 의도한 동작과는 다른 값이 반환된다.
  • 모든 객체는 truthy로 평가되므로 빈 객체도 truthy로 계산되어버린다.
profile
개발 공부 내용을 포스팅 중입니다.

0개의 댓글