
171
6.10 확장된 객체 리터럴 문법
체는
<
와
>
를 사용해 시간 순서로 비교할 수 있습니다.
point
객체로도 비슷한 일을
할 수 있습니다. 예를 들어
valueOf()
메서드가 원점으로부터 해당 지점까지의 거
리를 반환하도록 할 수 있습니다.
let point
=
{
x: 3,
y: 4,
valueOf: function() { return Math.hypot(this.x, this.y); }
};
Number(point) //
=
> 5:
숫자로
변환할
때
valueOf()
가
호출됩니다
.
point > 4 //
=
> true
point > 5 //
=
> false
point < 6 //
=
> true
6.9.4
Object.prototype
에 실제로
toJSON()
메서드가 정의된 것은 아니지만,
JSON.string
ify()
메서드는 직렬화할 객체에서
toJSON()
메서드를 검색합니다. 직렬화할 객체
에 이런 메서드가 존재하면 해당 메서드를 호출해 반환 값을 직렬화합니다. Date
클래스의
toJSON()
메서드는 직렬화 가능한 문자열 표현을 반환합니다. 물론
point
객체에도 같은 일을 할 수 있습니다.
let point
=
{
x: 1,
y: 2,
toString: function() { ...