나는 gmails javascript (확장 기능 작성)를 겪어 왔으며 곳곳에 (0, _.ab)(a)
또는 변형을 보았습니다. 이것은 무엇을 성취합니까?무엇을 의미합니까 (0, somefunc) (args)
나는 그들이 단지 직접 a(1,2,3)
전화하지 왜 내가 해결할 수없는 그러나 이러한
function a(a,b,c){ console.dir(a+b+c); }
(0, a)(1,2,3)
같은 몇 가지 테스트를 시도했습니다. (0,a)
을 사용하여 전화를 걸 때 이상한 이점이 있습니까?
나는이를 테스트하기 위해 jsperf (http://jsperf.com/direct-vs-0-func-calls)를 만들었으며 a(1)
대 (0,a)(1)
은 동일하게 보입니다.
편집 : 지금까지 내가 밖으로 만들 수있는 구글에만 직접 함수와 같은 if ((0, _.wa)(a))
(Gmail의 소스에서 가져온)
나는 그것이 minifier 또는 transpiler의 부산물이다 생각한다. – Pointy
그게 내 생각 이었지만, 왜 그렇게하는거야? –
@Pointy Closure Compiler (많은 Google 제품에서 사용됨)는 코드를 완전히 제거합니다. – Tibos