는 애디 오스 마니에서 자바 스크립트 디자인 패턴을 읽고, 그리고 문서에이 간단한 할당은 '이미 존재하는 객체/네임 스페이스 덮어 쓰기 방지'에 사용됩니다var에 대한 이점 myObj = myObj || myObj가 이미 존재하면 {}?
var myNS = myNS || function() {};
그래서 나는 그것이 할당 이해를 변수가 이미 존재하면 동일한 객체를, 그렇지 않으면 이상적으로 빈 객체를 만듭니다. 이 객체의 프로토 타입에 메소드를 추가한다고 가정하겠습니다. 그러나 이미 존재하는 유사하게 이름이 지정된 객체는 이미 '안녕하세요!'라는 비슷한 이름의 메소드를 이미 가지고 있습니다. 다음과 같은 일이 일어나야합니다.
myNS.prototype.sayHello = function() { return 'Hello!' };
myNS.sayHello(); // Hello! ??
그리고 원래 myNS.sayHello() // Hi!
개체는 기능이 아닙니다. Prototype 속성에 물건을 추가하는 것은 말이되지 않습니다. (프로토 타입 프로퍼티도 가지고 있지는 않습니다.) – Pointy
@ Pointy를 지적 해 주셔서 고마워요. – Tyblitz
논리'?|'는 아무 것도 도움이되지 않습니다. 기존의'.prototype.sayHello' 메소드를 덮어 쓰지 않으려면 비슷한 가드가 필요합니다. 요점은 접근 방식을 이해하고 필요한 곳마다 사용하는 것입니다. –