var wrapped_string = "shouldn't this\
work?"
JSLint은 잘못된 이스케이프 오류를 나타냅니다.자바 스크립트 Heredoc? 이스케이프 뉴 라인 : JSLint 나쁜 탈주?
어떻게하면 JavaScript에서 heredoc을 할 수 있습니까? 긴 HTML 문자열이 있습니다.
var wrapped_string = "shouldn't this\
work?"
JSLint은 잘못된 이스케이프 오류를 나타냅니다.자바 스크립트 Heredoc? 이스케이프 뉴 라인 : JSLint 나쁜 탈주?
어떻게하면 JavaScript에서 heredoc을 할 수 있습니까? 긴 HTML 문자열이 있습니다.
이 구문 확장이 최근에 ECMAScript 5th Edition Specification에서 표준화 되었기 때문에 이것이 왜 오류로 처리되는지에 대한 이유가 있다고 생각합니다.
광범위하게 지원되지만 ECMAScript 3 구현 (사용할 수있는 가장 널리 구현 됨)에서는 작동 할 것이라는 보장이 없거나 초기에 SyntaxError
예외가 발생할 수 있습니다.
다른 사람들이 그것을 피하기 위해 논하는 또 다른 이유는 LineTerminator
이 아닌 다른 문자가있는 경우 ECMAScript 5 구현에서도 SyntaxError
을 갖게된다는 것입니다. ,
// works:
var str = "foo\
bar";
// an space after it, SyntaxError:
var str = "foo\
bar";
JSLint 다른 감정, 아무것도 아파하지 :
는 백 슬래시 뒤에 공백이 있다면 예를 들어, 코드는 오류가 발생합니다, 그냥 코드를 읽어 발견하는 것은 쉽지 않다 jQuery에서 실행 해보십시오.
문자열이 많을 때 탈진은 괜찮습니다. 나는 +
톤을 사용하는 것보다 더 깨끗하다고 생각합니다.
jslint.yml을 통해 ECMA5 구문을 활성화 할 수 있습니다. 이것은 모든 개행 문자를 이스케이프합니다.
ES5 : 사실 진정한 #이 인 ECMAScript 5 구문이 허용되어야하는지
JSLint는 막연한 추론과 임의의 규칙을 많이했다. 이 경우 여러 줄 문자열의 오류가 일반적이며 쉽게 누락 될 수 있습니다 (많은 언어가 이스케이프없이 새 줄을 허용하기 때문에). Lint는 "당신이 이것을 사용해서는 안됩니다. \ n"+ [LF는 SO 주석에 허용되지 않습니다] "가 작동합니까?"; – eyelidlessness