"예기치 않은 토큰 불법"에 대한 가시적인 원인 없음
"Uncaught SyntaxError: Unexpected token ILLEGAL"이라는 JavaScript 오류가 발생하면 초기 반응은 다음과 같습니다. 특히 "var foo = 'bar';".
오류 소스
JavaScript 코드를 구문 분석하면 "토큰"으로 분류되며, 네 가지 기본 유형은 "ILLEGAL" 라벨을 받습니다. 이 오류는 잘못된 @ 기호, 불균형 중괄호, 부적절한 인용 등 문자 위치가 잘못되었거나 구문 요소 누락으로 인해 발생할 수도 있습니다.
보이지 않는 잘못된 문자
구문이 유효해 보이는 경우 범인은 보이지 않는 문자, 즉 유니코드 너비가 0인 공백(ZWSP 또는 U)일 수 있습니다. 200B)로 표시됩니다. 이 문자는 일반적으로 단어 줄 바꿈을 제어하기 위해 ZWSP를 포함하는 것으로 알려진 jsfiddle과 같은 소스에서 발생하는 "예기치 않은 토큰 불법" 오류를 발생시킵니다.
보이지 않는 문자 식별
ZWSP를 찾으려면 편집기에서 보이지 않는 문자 표시를 활성화하세요. 예를 들어 Vim에서는
관련 문제
ZWSP는 정확한 줄 바꿈 제어를 가능하게 하는 합법적인 목적을 제공합니다. 그러나 그 존재로 인해 다음과 같은 다른 문제가 발생할 수도 있습니다.
ECMAScript 사양
ECMAScript 사양에서는 유사한 공백 문자를 언급하지만 ZWSP에 대한 명시적인 언급은 부족합니다. 그러나 사양에서 "공백 구분 기호"에 대한 언급은 ZWSP가 실제로 공백으로 간주되어야 함을 나타냅니다. 그럼에도 불구하고 현재 구현에서는 이를 예상치 못한 토큰으로 취급합니다.
위 내용은 내 JavaScript 코드에 'Uncaught SyntaxError: Unexpected token ILLEGAL'이 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!