[클린코드 자바스크립트] 형변환

link717·2022년 8월 21일
0
post-thumbnail

☑️ 형변환(Type Conversion)

Javascript는 매우 유연한 언어이기 때문에 자바스크립트 엔진이 필요에 따라 '암시적 형변환'을 할 수 있지만 코드의 의도를 좀 더 명확하게 하기 위해 의도에 따른 '명시적 형변환'을 사용할 필요가 있다. 따라서 암묵적 형변환을 사용할 경우가 있다면 Wrapper 객체를 사용하여 명시적인 형변환을 하도록 하자.

느슨한 비교를 할 경우, 암묵적인 형변환을 통해 아래와 같은 상황에서 좌항과 우항을 동일하게 인지하는 상황이 발생할 수 있다.

예를 들어 parseInt를 사용할 경우, 기본적으로 개발자들은 10진수로의 변환을 기대하지만 기본 변환 진수는 10진수가 아니므로 10진수로 변환이 필요한 경우에는 10을 무조건 두번째 인자로 전달해주어야 한다. 또한 문자열 앞에 !!를 사용하면 암묵적인 형변환을 통해 Boolean 값을 취득할 수 있는데 이러한 경우 명시적인 형변환을 위해 Wrapper 객체를 활용하는 것이 더 분명한 의도를 나타낼 수 있다.

parseInt('숫자로 형변환이 가능한 값 혹은 숫자', n진수);

// 암묵적 형변환을 암시적으로 한 경우
!!'문자열'; // true
!!''; // false

// Wrapper 객체를 사용하여 형변환을 명시적으로 한 경우
Boolean('문자열'); // true
Boolean(''); // false
Number('11'); // 11

출처

클린코드 자바스크립트-장현석
https://dorey.github.io/JavaScript-Equality-Table/

profile
Turtle Never stop

0개의 댓글