3
객체 instanceof를하는 경우 :개체 건설 : 시험이 내가 공급 업체 코드의 개체 생성자에서이 테스트를 본 적이
function MyObject() {
if (!(this instanceof MyObject)) return new MyObject;
...
}
내 첫 성향이 테스트는 다른 this
값 때 바인딩을 방지하기 위해 사용된다는 점이다 생성자를 호출합니다. 그러나, 내가 놓치고있는 다른 것이 있으면 여기에서 확인하고 싶었다. 누군가이 시험의 정확한 의도를 설명해 주시겠습니까?
위대한 답변! 그리고 100 %는 부주의 한 개발자의 손을 잡기보다는 예외를 던져야한다고 동의합니다. – srquinn
이것은 모듈의'export' 값이 객체 생성자뿐만 아니라 많은 다른 것들이 될 수있는 nodejs 모듈에서 주로 보인다고 덧붙여 야합니다. 이것으로 문서화 및 예외 처리는 개발자를위한 코드를 "수정"하는 것이 여전히 우위입니다. 나는 묵시적인 구조가 문제의 테스트가 막으려 고 시도하는 것보다 더 심각한 코드 남용으로 이어질 것이라고 주장한다. – srquinn