더북(TheBook)

9.3.7 형 변환

연산자를 공부할 때 같이 이해하면 좋은 개념이 바로 형 변환입니다. 형 변환은 데이터의 자료형이 다른 자료형으로 바뀌는 것을 말합니다. 자바스크립트에는 크게 암시적 형 변환과 명시적 형 변환이 있습니다.

 

암시적 형 변환

코드를 보며 형 변환을 이해해 보겠습니다.

09/03/typeConversion.js

const result = 10 + "10";
console.log(result); // 1010

코드를 실행하면 숫자 10과 문자열 10을 덧셈 연산자로 연산하는데, 문자열 연결 연산자처럼 1010이 출력됩니다. 문자열 연결 연산자는 문자열과 문자열을 + 기호로 연결하는 연산인데, 앞의 코드에서는 왜 + 기호가 문자열 연결 연산자로 처리됐을까요?

이는 자바스크립트가 내부적으로 숫자형 데이터를 문자열 데이터로 형 변환했기 때문입니다. 암시적 형 변환은 이처럼 사용자가 형 변환을 의도하지 않았지만, 자바스크립트에서 자체적으로 형 변환하는 것을 말합니다. 코드에서는 서로 다른 자료형 데이터를 + 기호로 연산하므로 숫자형 데이터를 문자열 데이터로 암시적 형 변환해서 연산을 수행했습니다.

암시적 형 변환은 연산자로 연산을 수행할 때 알게 모르게 많이 사용됩니다. 다음 코드도 문자열이 숫자형으로 암시적 형 변환되기 때문에 비교가 가능합니다.

09/03/typeConversion2.js

let num = 10;
let strNum = "10";
if(num == strNum){ // 문자열을 숫자형으로 형 변환
  console.log(`equals`);
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.