--- title: 'SyntaxError: illegal character' slug: Web/JavaScript/Reference/Errors/Illegal_character tags: - ZWSP - 구문 에러 - 자바스크립트 - 폭 없는 공백 translation_of: Web/JavaScript/Reference/Errors/Illegal_character ---
{{jsSidebar("Errors")}}
SyntaxError: Invalid character (Edge) SyntaxError: illegal character (Firefox) SyntaxError: Invalid or unexpected token (Chrome)
{{jsxref("SyntaxError")}}
코드에 해당 구문에 맞지 않거나 예기치 않은 토큰이 있습니다. 마이너스 기호( -
)와 대시( –
) 또는 따옴표( "
)와 비표준 따옴표( “
) 등이 잘못 사용된 경우에 대해 문법 체크를 해주는 편집기를 사용하여 코드를 주의 깊게 확인해야 합니다.
일부 문자들은 비슷하게 보이지만 파서가 코드 해석을 실패하게 만듭니다. 유명한 예로 따옴표, 마이너스 또는 세미콜론(greek questionmark (U+37e)과 동일하게 보입니다)이 있습니다.
“This looks like a string”; // SyntaxError: illegal character // 비슷해 보이지만 “와 ”는 "이 아닙니다 42 – 13; // SyntaxError: illegal character // 비슷해 보이지만 –은 -이 아닙니다 var foo = 'bar'; // SyntaxError: illegal character // 비슷해 보이지만 <37e>은 ;이 아닙니다
아래 예제는 정상적으로 동작합니다:
"This is actually a string"; 42 - 13; var foo = 'bar';
일부 편집기와 IDE는 문제가 있는 부분을 알려주거나 적어도 강조 표시를 해주지만 전부는 아닙니다. 이런 에러가 발생했을 때 무엇이 문제인지 찾을 수 없는 경우, 문제가 있는 줄을 지우고 다시 작성하는 것 가장 좋습니다.
앞이나 뒤에 오는 문자를 잊어버리기 쉽습니다.
var colors = ['#000', #333', '#666']; // SyntaxError: illegal character
'#333'
에 빠진 작은따옴표를 추가합니다.
var colors = ['#000', '#333', '#666'];
다른 곳에서 코드를 복사하여 붙여넣은 경우 잘못된 문자가 포함돼 있을 수 있습니다. 주의하세요!
var foo = 'bar'; // SyntaxError: illegal character
Vim과 같은 편집기에서 아래 코드를 체크하면 폭 없는 공백(zero-width space (ZWSP) (U+200B)) 문자가 있는 것을 확인할 수 있습니다.
var foo = 'bar';<200b>