2017-01-16 6 views
0

는 지금은있는 경우 :JSHint에서 불필요한 세미콜론 경고를 사용하려면 어떻게해야합니까?

console.log; 

내가 JSHint에서 경고를하지 않습니다. 불필요하게 세미콜론을 사용하지 않는 표준을 사용하고 싶습니다. JSHint에서 약간의 도움을 주시면 고맙겠습니다. 불필요한 세미콜론 사용에 대한 경고를 활성화하는 지원되는 방법이 있습니까?

은 참조 : https://www.codecademy.com/blog/78

내가 대신 JSLint를 사용하는 것이 좋습니다,하지만 JSLint 내가 사용하지 않으려는 탭을 통해 공간을 적용합니다.

+2

"불필요하게 세미콜론을 사용하지 않는 새로운 표준"? 이거 어디서 들었 니? – LINKIWI

+0

@LINKIWI https://github.com/feross/standard/blob/master/RULES.md#automatic-semicolon-insertion-asi – Citizen

답변

0

모든 옵션을 읽은 후 JSHint에서이 옵션을 사용할 수있는 방법을 찾을 수 없습니다.

그러면 표준 JS에 더 많은 것을 읽은 후, 실제로 내가 무엇을했는지, 내가 찾고있는 원자에 대한 자체 linter가 있습니다. 이에 정교한

https://atom.io/packages/linter-js-standard

2

"JavaScript 표준 스타일"을 말하는 경우 업계 표준이 아닌 새로운 표준을 의미하는 것이 아니라면 "새로운 표준"이 아닙니다. 그것은 단지 한 사람의 잘못된 표준입니다.

아무것도 경우, ES6 세미콜론을 생략하지 이유를 소개합니다 :

a = b 
[x, y] = [1, 2] 

을 두 번째 줄이 배열 destructuring입니다.

은 당신이 원하는 확실하지 않은

a = b[x, y] = [1, 2] 

로 분석됩니다. "표준"은 내가 본 것 중 가장 추악한 것 중 하나 인

a = b 
;[x, y] = [1, 2] 

을 제안합니다. 세미콜론을 넣어야하는 경우, 속한 곳에 위의 줄에 넣지 않으시겠습니까?

위는 발 파라미터로서의 기능을 전달하려고

a = b(function(foo() { }()) 

로서 해석 될 유명한

a = b 
(function foo() { }()) 

포함 ASI 실패 모든 공지 된 경우에 추가되는 함수 b.

필요가 없기 때문에 jshint에서 원하는 것을 선택할 수있는 옵션이 없습니다. "불필요한 세미콜론"은 실수로 링터가 가져와야하는 오류가 아닙니다.

깨진 "표준"을 지원하기 위해 맞춤식 린터를 사용하는 것은 끔찍한 생각처럼 보입니다. 당신은 jshint와 eslint와 같이 현명하게 사용되는 linter에서 진행되는 모든 혁신을 놓치게됩니다. 사용자 정의 linter가 하나의 특정 편집기에서만 작동하는 경우 더욱 그렇습니다. 팀원 중 누군가가 숭고한 텍스트를 사용하고 싶다면 어떻게해야합니까?

나는 세미콜론없이 가겠다는 약점을 재검토 해 보시기 바랍니다. github JS repos의 설문 조사에서이 접근법을 사용하는 비율은 한 자리 숫자였습니다. 당신이 그것에있을 때, 당신은 또한 탭에서 공간으로 이동할 수 있습니다; 같은 설문 조사는 공간이 압도적으로 일반적인 관행임을 보여줍니다.물론

은, 위의 어느 것도 불필요하고 린터은 일반적으로 픽업 할 그러한

a = b;; function foo() { }; 

참으로
불필요한 세미콜론을 의미하지 않습니다.