2012-11-08 4 views
0

내가 내 자바 스크립트 코드에서이 라인을 가지고 '/ ='와 혼동 할 수 있습니다JsHint 경고 : 리터럴 정규 표현식

A regular expression literal can be confused with '/='` 

: JsHint 날이 선에 경고를 제공

var regex = /===Hello===\n/; 

...하지만이 정규 표현식의 잘못된 점을 알지 못합니까? 이 경고를 피하려면 어떻게해야합니까?

+1

여기 정규 표현식을 사용하는 이유는 무엇입니까? – Andreas

+0

* g * 당신이 옳았습니다, 그 예는 좋지 않았습니다. 내 실제 코드는 정규 표현식이되어야하는 훨씬 더 큰 정규 표현식을 가지고있다. – Sonson123

답변

2

/=은 정규 표현식 리터럴의 시작이 아니라 나눗셈과 할당으로 해석 될 수 있습니다.

대신 RegExp constructor를 사용하여 경고를 방지 할 수 있습니다

var regex = new RegExp("===Hello===\n"); 

가있을 나타나지 않습니다 any option 그렇게, /=을 무시하고 (그 문제 또는 JSLint) JSHint에게 선택을 설정할 수 있습니다 경고를 무시하거나 경고를 무시하는 것입니다.

+0

설명해 주셔서 감사합니다. 부서에 대해서는 생각하지 않았습니다. RegExp 솔루션을 사용하겠습니다. – Sonson123

+0

이것이 이유가 된 이유는 무엇입니까? –

+2

http : // jslinterrors에서 [article] (http://jslinterrors.com/a- regular-expression-literal-can-be-confused-with/)에이 오류에 대한 정보를 추가했습니다. com. –