자바스크립트에서의 객체와 문자열 간의 묵시적 형 변환 예제

자바스크립트에서는 동적 타입을 사용하기 때문에 변수의 타입은 실행 시간에 결정됩니다. 때문에, 서로 다른 타입의 변수끼리 연산이나 비교를 할 때, 자바스크립트는 묵시적 형 변환을 수행합니다. 이번 글에서는 특히 객체와 문자열 간의 묵시적 형 변환에 대해 살펴보겠습니다.

1. 객체를 문자열로 변환하기

자바스크립트에서 객체를 문자열로 변환하는 방법은 여러 가지가 있습니다. 가장 간단한 방법은 toString() 메서드를 사용하는 것입니다. 다음은 객체를 문자열로 변환하는 예제입니다.

const obj = {
  name: "John",
  age: 25
};

const str = obj.toString();
console.log(str); // [object Object]
console.log(typeof str); // string

위의 예제에서 toString() 메서드는 객체를 문자열 “[object Object]”로 변환합니다.

2. 문자열을 객체로 변환하기

자바스크립트에서 문자열을 객체로 변환하는 방법 중 하나는 eval() 함수를 사용하는 것입니다. eval() 함수는 문자열을 자바스크립트 코드로 실행시키는 역할을 합니다. 다음은 문자열을 객체로 변환하는 예제입니다.

const str = '{"name": "John", "age": 25}';
const obj = eval('(' + str + ')');
console.log(obj); // { name: 'John', age: 25 }
console.log(typeof obj); // object

위의 예제에서 문자열을 객체로 변환하기 위해 eval() 함수를 사용하였습니다. 주의할 점은 eval() 함수를 사용할 때 괄호를 추가해야 한다는 것입니다. 괄호를 추가해야 객체로 변환됩니다.

묵시적 형 변환이 자주 발생하는 경우에는 명시적으로 타입 변환을 해주는 것이 낫습니다. 이렇게 함으로써 코드의 가독성을 높일 수 있고, 예기치 않은 동작을 방지할 수 있습니다.

#references