2

Google 클로저 컴파일러 및 상속 라이브러리를 사용하여 많은 클로저 기반 라이브러리에서 두 개의 다른 생성자 호출을 발견했습니다. 내가 잘못 이해했는지 확신 할 수 없다.콜 슈퍼 컴파일러 (클로저 컴파일러 및 라이브러리)

차이점과 사용할 올바른 것은 무엇입니까?

// Xhrio extends EventTarget 
goog.events.EventTarget.call(this); 
goog.net.XhrIo.base(this, 'constructor'); 

답변

2

어느 쪽이든 괜찮습니다. 나중에 XhrIoEventTarget 이외의 것으로 확장하도록 변경 한 경우 해당 행을 변경할 필요가 없기 때문에 두 번째 것이 약간 더 좋다고 말할 수 있습니다.

goog.base(this, 'constructor')을 사용할 수도 있지만 엄격 모드와 호환되지 않습니다.

+1

컴파일 후에 컴파일러가 JS hackery없이 기본 생성자를 대체하기 때문에 strict 모드와 호환됩니다. IIRC –