이 JSLint의 옵션, 사실 좋은 부분 중 하나는 건축 것을 의미한다 "즉시 호출 주위에 괄호 [필요한]을"는,
(function () {
// ...
})();
대신 다음과 같이 작성해야합니다.
(function () {
// ...
}());
내 질문은 이것이다. 누군가이 두 번째 양식이 더 나은 것으로 간주되는 이유를 설명 할 수 있습니까? 더 탄력적입니까? 오류가 덜 발생합니까? 첫 번째 형태에 비해 어떤 이점이 있습니까?
이 질문을하면서 함수 값과 함수 값을 시각적으로 명확하게 구분하는 것의 중요성을 이해하게되었습니다. 즉각적인 호출의 결과가 할당 표현식의 오른쪽 인 경우를 고려하십시오.
var someVar = (function () {
// ...
}());
최 괄호 구문이 불필요하지만, 개구 괄호의 값이 할당되고 있다는 선행 표시가 제공 되지 함수 자체가 아니라 함수의 결과가 호출된다.
이것은 생성자 함수의 대문자 사용에 관한 Crockford의 조언과 유사합니다. 소스 코드를 보는 모든 사람에게 시각적 신호 역할을하기위한 것입니다.