자바스크립트 toString()

자바스크립트에서 toString() 메소드는 객체를 문자열로 변환하는 데 사용됩니다. 이 메소드는 자주 사용되며, 다양한 상황에서 유용하게 활용될 수 있습니다.

기본 사용법

toString() 메소드는 객체의 값을 문자열로 변환합니다. 일반적으로 문자열로 변환되기 원하는 객체에 직접 toString() 메소드를 호출하면 됩니다. 예를 들어:

const book = {
  title: "JavaScript Basics",
  author: "John Doe",
  year: 2022
};

console.log(book.toString()); // [object Object]

위의 예제에서는 book 객체에 toString() 메소드를 호출하고 결과를 콘솔에 출력하였습니다. 하지만 이 경우 기본적으로 객체의 내부 표현인 [object Object]가 출력됩니다.

사용자 정의 toString() 메소드

toString() 메소드를 사용자 정의하여 원하는 형식의 문자열로 반환할 수도 있습니다. 이를 통해 객체의 내용을 더욱 자세히 표현할 수 있습니다.

다음은 book 객체에 사용자 정의 toString() 메소드를 추가한 예제입니다:

const book = {
  title: "JavaScript Basics",
  author: "John Doe",
  year: 2022,
  toString() {
    return `${this.title} by ${this.author}, published in ${this.year}`;
  }
};

console.log(book.toString()); // JavaScript Basics by John Doe, published in 2022

위의 예제에서는 book 객체에 toString() 메소드를 추가하였습니다. 이 사용자 정의 메소드는 객체의 title, author, year 속성을 활용하여 원하는 형식으로 문자열을 구성하고 반환합니다.

숫자의 toString() 메소드 활용

숫자에도 toString() 메소드를 사용할 수 있습니다. 이를 통해 숫자를 다양한 진법으로 변환할 수 있습니다.

다음은 10진수 숫자를 2진수, 8진수, 16진수로 변환하는 예제입니다:

const decimalNumber = 42;

console.log(decimalNumber.toString(2)); // 101010
console.log(decimalNumber.toString(8)); // 52
console.log(decimalNumber.toString(16)); // 2a

위의 예제에서는 decimalNumber 변수에 10진수인 42를 할당하고, 이를 각각 2진수, 8진수, 16진수로 변환하여 출력하였습니다. 숫자의 toString() 메소드에 진법을 인자로 전달하면 해당 진법으로 변환된 문자열이 반환됩니다.

결론

자바스크립트의 toString() 메소드는 객체를 문자열로 변환하는 기능을 제공합니다. 기본적으로는 [object Object]와 같은 내부 표현이 출력되지만, 사용자 정의 toString() 메소드를 구현하여 원하는 형식의 문자열로 반환할 수 있습니다. 또한, 숫자에도 toString() 메소드를 활용하여 다양한 진법으로 변환할 수 있습니다.