> 웹 프론트엔드 > JS 튜토리얼 > 내 JavaScript 코드에서 '예기치 않은 토큰 불법' 오류가 발생하는 이유는 무엇입니까?

내 JavaScript 코드에서 '예기치 않은 토큰 불법' 오류가 발생하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-14 10:24:10
원래의
316명이 탐색했습니다.

Why Does My JavaScript Code Throw an

"예기치 않은 토큰 ILLEGAL": 숨겨진 범인

직설적인 외관에도 불구하고 "예기치 않은 토큰 ILLEGAL" 오류를 일으킨 코드에는 다음이 포함되어 있습니다. 진짜 범인은 보이지 않는 인물이다. 이 보이지 않는 문자는 유니코드 U 200B 너비가 0인 공백 문자(ZWSP)입니다.

보이지 않는 문자 유래

ZWSP 문자의 출처는 알 수 없는 경우가 많지만 jsfiddle 또는 Chrome 개발자 도구에서 붙여넣은 코드에서 흔히 발견됩니다. jsfiddle에서 문자는 단어 줄 바꿈을 제어하는 ​​데 사용됩니다.

보이지 않는 문자 식별

보이지 않지만 ZWSP 문자는 보이지 않는 표시를 활성화하여 감지할 수 있습니다. 코드 편집기에서 또는 온라인 디버깅 도구를 사용하여 문자를 입력합니다. Vim과 같은 편집기는 문자를 로 표시하지만 jsbin 및 CodePen.io와 같은 도구는 빨간색 점으로 표시합니다.

효과 및 관련 문제

ZWSP 문자는 다양한 문제를 일으킬 수 있으며, 다음을 포함합니다:

  • JavaScript 구문 오류
  • 웹 페이지에 보이지 않는 공백 또는 추가 공백
  • 웹 페이지 인코딩이 그렇지 않은 경우 문자를 공백이 아닌 문자로 표시 UTF-8로 인식
  • 스타일 지정으로 이어지는 CSS 코드의 부적절한 구문 분석 문제

ECMAScript 사양

ECMAScript 사양에서는 U 200B 문자를 예상치 못한 토큰으로 명시적으로 언급하지 않습니다. 그러나 유사한 문자(U 200C 및 U 200D)는 특정 코드 요소 내에 있지 않을 때 식별자의 일부로 처리되어야 한다고 제안합니다. ZWSP를 예상치 못한 토큰으로 처리하는 구현 동작(Chrome 및 Firefox)은 사양과 일치하지 않는 것으로 보입니다.

위 내용은 내 JavaScript 코드에서 '예기치 않은 토큰 불법' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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