javaScript : JSLINT의 옵션으로 '식별자의 주요 _을 허용하지 않습니다'

StackOverflow https://stackoverflow.com/questions/403454

  •  03-07-2019
  •  | 
  •  

문제

방금 내 자신을 쓰기 시작했습니다 JavaScript 프레임 워크 (학습 경험을 위해서만), 일부 개인 회원을 _, 그런 것과 같은 :

var _isFireBugEnabled = function () {
    return (window.console && window.console.firebug);
};

Crockford 's에 대한 코드를 실행했을 때 jslint (항상 그렇듯이) Recommended Options ON은 _를 식별자로 사용하지 않는 것에 대해 들었습니다.

내 질문은 jslint가 _를 식별자로 사용하지 않는 것에 대해 왜 나에게 경고합니까?

여기에 누락 된 부작용이나 의미가 있습니까?

추신. 내가 지금 스캔 할 수있는 한, 이것은 문서화되어 있지 않습니다.

도움이 되었습니까?

해결책

그 이유는 Douglas Crockford가 JavaScript의 약 78%를 싫어하기 때문입니다. 많은 사람들은 자신이 약간 엄격하다고 생각하며 실제로 많은 도서관은 생산 코드의 주요 층상을 사용합니다. 나는 그것에 크게 잘못 본 적이 없다. 부작용이 없습니다.

또한 밑줄이 아닌 '$'는 ECMA 사양.

ECMA 262, 섹션 7.6에서 :

이 표준은 유니 코드 표준에 주어진 문법에서 한 번의 출발을 지정합니다. 달러 표시 ($)와 밑줄 (_)은 식별자의 어느 곳에서나 허용됩니다. 달러 표시는 기계적으로 생성 된 코드에서만 사용하기위한 것입니다.

*참고 : 나는 얼굴이 좋다. 그는 실제로 절반 정도만 미워하며 일반적으로 정당한 이유가 있습니다. 나는 Crockford와 동의하지 않지만 그는 보통 매우 옳습니다.

다른 팁

나는 실제로 이것에 대해 Crockford를 이메일로 보냈다. 이것은 그의 반응이었습니다.

_는 시스템 코드 구현을 위해 예약되어야하며 응용 프로그램에서 사용하지 않아야한다고 생각합니다.

나는 그에게 다소 동의하지 않는다. 나는 _가 내 자신의 수업에서 진정한 개인 회원을 접두사에 사용하는 경향이있다. 왜냐하면 그것은 개인이 무엇인지 명확하게하기 때문이다. Google의 CAJA에는 _ 사용에 관한 규칙이 있지만 설명하는 것에 문제가 발생하지는 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top