내 코드에 hasOwnProperty를 많이 사용하고 있으며 길게 입력하고 낙타를 입력하여 입력합니다. 나는 단지 myObj.has('x')
라고 말할 수 있기를 원했지만, Object.prototype에서 hop의 별칭을 만들려고했을 때 'has'가 이제 for..in 루프에서 열거됩니다. 내가 원하는 것을 얻는 가장 좋은 방법은 무엇입니까? 나는 단지 has(obj, prop)
처럼 작동하는 전역 함수를 만들 수 있다는 것을 의미한다. 그러나 점 형식이 더 마음에 들고 자바 스크립트가 슬리브를 가질 수있는 트릭을 알고 싶다. 그래서 제안을 찾고있다.hasOwnProperty의 이름을 바꾸지 만 열거 형을 금지합니다.
업데이트 : 이것은 꽤 해킹 된 것 같습니다. String.prototype.in = function(obj){return obj.hasOwnProperty(this)}
확인 하시겠습니까? 그런 다음 내가 말할 수있다. if ('x'.in(myObj)) {...
불행히도 hasOwnProperty 앨리어싱이 아닌 다른 함수 호출 계층을 추가하지만 구문이 마음에 든다.
감사합니다. 나는 defineProperty를 사용하기 전에 시도했다. 그러나 나는 그것을 잘못 사용하고 있었다고 생각한다. – Moss