사용자 정의 toString 메소드를 작성하십시오.

3073 단어 javascript
브라우저에 [object Object]가 표시되면 정말 화가 나나요? 글쎄, 이것은 당신이 필요하지 않을 수도 있는 수정 사항입니다.

객체 자체에 toString 메서드가 있는 경우 자바스크립트가 객체를 문자열로 만들려고 할 때마다 해당 메서드가 호출됩니다. 멋지죠?

예를 들어 항상 멋진 방식으로 이름을 출력하려면 사용자 정의 toString 메서드를 사용하여 객체를 반환하는 함수를 만듭니다.

function createPerson(firstName, lastName) {
  function toString() {
    return `${this.lastName}, ${this.firstName} ${this.lastName}`;
  }

  return {
    firstName,
    lastName,
    toString
  }
}

지금

JD = createPerson("John", "Doe");
let html = `<q>My name is: ${JD}.</q>`;
document.body.innerHTML = html;

물론 다음과 같은 경우에도 할 수 있습니다.

Object.prototype.toString = function toString() {
  throw new Error("Do not parse ME as a string!");
}

이것이 유용하거나 흥미롭기를 바랍니다.

좋은 웹페이지 즐겨찾기