SyntaxError: missing variable name
메시지
SyntaxError: missing variable name (Firefox) SyntaxError: Unexpected token = (Chrome)
에러 타입
무엇이 잘 못 되었을까?
변수에 이름이 없습니다. 이것은 코드 내의 구문 에러 때문일 수도 있습니다. 어쩌면 콤마를 잘 못 된 곳에 찍었거나, 변수명을 지을 때 애를 먹었을 수도 있습니다. 그럴 수도 있죠! 작명은 너무 어려우니까요.
예제
이름을 잃은 변수
js
var = "foo";
좋은 이름을 떠올리기 어려웠을 거예요. 우리 모두 겪는 일이죠.
js
var ohGodWhy = "foo";
예약어는 변수명이 될 수 없어요
예약어로 지정된 이름들이 변수로 쓰여 있습니다. 이것들은 사용할 수 없어요. 미안합니다. :(
js
var debugger = "whoop";
// SyntaxError: missing variable name
여러 변수를 선언하기
여러 변수를 한 번에 선언할 때에는 콤마에 주의를 기울여야 합니다. 쓸 데없는 콤마를 더 찍지는 않았는지? 무심코 세미콜론 대신 콤마를 찍지는 않았는지?
js
var x, y = "foo",
var x, = "foo"
var first = document.getElementById('one'),
var second = document.getElementById('two'),
// SyntaxError: missing variable name
올바르게 수정한 버전:
js
var x,
y = "foo";
var x = "foo";
var first = document.getElementById("one");
var second = document.getElementById("two");
배열
JavaScript 의 Array
리터럴은 대괄호로 감싸주어야 합니다. 이건 동작하지 않아요.
js
var arr = 1,2,3,4,5;
// SyntaxError: missing variable name
이렇게 해야 맞습니다:
js
var arr = [1, 2, 3, 4, 5];