JavaScript는 동적 프로그래밍 언어로, 변수의 형 변환이 자동으로 처리됩니다. 이는 개발자에게 유연성을 제공하며, 코드 작성을 편리하게 해줍니다. 그러나 객체와 참조 변수의 형 변환이 일부 개발자들에게 혼동을 줄 수 있습니다. 이번 포스트에서는 자바스크립트에서 객체와 참조 변수의 형 변환에 대해 이해해보겠습니다.
1. 객체의 형 변환
JavaScript에서 객체의 형 변환은 “명시적 형 변환”과 “암시적 형 변환” 두 가지 유형으로 나뉩니다.
1.1 명시적 형 변환
명시적 형 변환은 개발자가 의도적으로 객체의 형을 변환하는 것을 말합니다. 예를 들어, Number
객체의 toString()
메서드를 사용하여 숫자를 문자열로 변환할 수 있습니다.
let num = 123;
let numObj = new Number(num);
let str = numObj.toString();
console.log(typeof str); // string
위의 예제에서는 Number
객체를 생성한 후 toString()
메서드를 호출하여 문자열로 변환하고 있습니다. typeof
연산자를 통해 형 변환이 제대로 이루어졌는지 확인할 수 있습니다.
1.2 암시적 형 변환
암시적 형 변환은 JavaScript 엔진이 자동으로 형을 변환하는 것을 말합니다. 주로 산술 연산자와 비교 연산자에서 발생하며, 다양한 규칙에 따라 이루어집니다.
let num = 10;
let str = "20";
console.log(num + str); // "1020"
console.log(num - str); // -10
위의 예제에서 num
은 숫자이고 str
은 문자열이지만, +
연산자로 처리하면 문자열로 변환되어 연결되고, -
연산자로 처리하면 숫자로 변환되어 계산되었습니다.
2. 참조 변수의 형 변환
참조 변수의 형 변환은 변수의 값이 객체를 참조하고 있는 경우에 발생합니다.
let obj = {};
let str = "Hello";
obj = str;
console.log(typeof obj); // string
위의 예제에서 obj
변수는 빈 객체를 참조하다가 str
변수를 참조하도록 변경되었습니다. 이후 obj
변수의 형은 문자열로 변환됩니다. 이처럼 참조 변수는 언제든지 다른 타입의 값을 참조할 수 있어서 형 변환이 자연스럽게 이루어집니다.
마무리
JavaScript에서 객체와 참조 변수의 형 변환은 개발자에게 유연성을 제공하며, 코드 작성을 편리하게 합니다. 명시적 형 변환과 암시적 형 변환에 대해 이해하고 적절하게 활용하는 것은 JavaScript를 효과적으로 활용하는 데 중요한 요소입니다.