고유 한 고유 값을 가진 객체를 만들 수 있기를 원했습니다. 그렇게하면 일반 변수처럼 표현식에서 사용할 수 있습니다. 그것은 아주 쉽다는 것이 드러났습니다. 제가 쉽게 뭔가를 놓치고 있는지 궁금합니다. 취할 것 같다는 것은 객체에 "valueOf"메소드가 포함되어 있는지 확인하는 것입니다. 좋아요 :고유 한 고유 값을 갖는 객체. getter를 수행하는 또 다른 방법
var p = {
a: 12;
valueOf: function(){return this.a+12}
}
alert(p/3); // =8
너무 "toString"방법을 포함하는 것이 좋습니다. 무슨 일이 일어나고있는 것 같아요 valueOf 메서드 없이는 개체에 대한 참조가 "개체 개체"를 반환 그냥 개체에 메서드를 찾을 때까지 프로토 타입 체인 올라간다. 로컬 메서드를 제공하면 메서드에서 아무 것도 반환 할 수 없습니다.
내가 시도한 모든 브라우저에서 작동하는 것 같습니다.
이것은 실제로 게터와 같은 기능을 제공하는 또 다른 방법입니다. getter는 객체의 속성에만 적용 할 수 있기 때문에 좀 더 좋습니다. 이렇게하면 객체 자체를 사용할 수 있습니다.
당신은 어떻게 생각하십니까? 이거 안전한가요? 어떤 함정이라도?
* "정말 게터와 같은 기능을 제공하는 또 다른 방법입니다"* - 어떻게 그렇게 할 수 있습니까? Getters는 멤버에 대한 액세스를 제공합니다. 여기서는 객체 자체의 값을 재정의합니다. – Madbreaks
참. 그러나 변수와 비슷한 참조로 값을 참조 할 수 있다는 점에서 getter와 같습니다. 또한 개체의 모든 속성이 여전히 유효합니다. 그것은 당신이 객체로 할 수있는 여분의 일입니다. –