> 웹 프론트엔드 > JS 튜토리얼 > 내 JavaScript 코드에 'Uncaught SyntaxError: Unexpected token ILLEGAL'이 나타나는 이유는 무엇입니까?

내 JavaScript 코드에 'Uncaught SyntaxError: Unexpected token ILLEGAL'이 나타나는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-06 08:59:10
원래의
644명이 탐색했습니다.

Why Am I Getting

"예기치 않은 토큰 불법"에 대한 가시적인 원인 없음

"Uncaught SyntaxError: Unexpected token ILLEGAL"이라는 JavaScript 오류가 발생하면 초기 반응은 다음과 같습니다. 특히 "var foo = 'bar';".

오류 소스

JavaScript 코드를 구문 분석하면 "토큰"으로 분류되며, 네 가지 기본 유형은 "ILLEGAL" 라벨을 받습니다. 이 오류는 잘못된 @ 기호, 불균형 중괄호, 부적절한 인용 등 문자 위치가 잘못되었거나 구문 요소 누락으로 인해 발생할 수도 있습니다.

보이지 않는 잘못된 문자

구문이 유효해 보이는 경우 범인은 보이지 않는 문자, 즉 유니코드 너비가 0인 공백(ZWSP 또는 U)일 수 있습니다. 200B)로 표시됩니다. 이 문자는 일반적으로 단어 줄 바꿈을 제어하기 위해 ZWSP를 포함하는 것으로 알려진 jsfiddle과 같은 소스에서 발생하는 "예기치 않은 토큰 불법" 오류를 발생시킵니다.

보이지 않는 문자 식별

ZWSP를 찾으려면 편집기에서 보이지 않는 문자 표시를 활성화하세요. 예를 들어 Vim에서는 로 표시됩니다. jsbin 및 CodePen과 같은 온라인 디버깅 도구는 이를 빨간색 점으로 강조 표시합니다.

관련 문제

ZWSP는 정확한 줄 바꿈 제어를 가능하게 하는 합법적인 목적을 제공합니다. 그러나 그 존재로 인해 다음과 같은 다른 문제가 발생할 수도 있습니다.

  • 숨겨진 ZWSP로 인해 실제로 비어 있지 않은 빈 문자열
  • 웹 페이지의 예기치 않은 공백
  • CSS 구문 분석 문제로 인한 잘못된 스타일
  • 잘못 해석된 인코딩으로 인해 문자 표시가 발생함 문제

ECMAScript 사양

ECMAScript 사양에서는 유사한 공백 문자를 언급하지만 ZWSP에 대한 명시적인 언급은 부족합니다. 그러나 사양에서 "공백 구분 기호"에 대한 언급은 ZWSP가 실제로 공백으로 간주되어야 함을 나타냅니다. 그럼에도 불구하고 현재 구현에서는 이를 예상치 못한 토큰으로 취급합니다.

위 내용은 내 JavaScript 코드에 'Uncaught SyntaxError: Unexpected token ILLEGAL'이 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿