SyntaxError: missing variable name

Ngoại lệ JavaScript "missing variable name" là một lỗi phổ biến. Thường do bỏ quên tên biến hoặc lỗi đánh máy.

Thông báo

SyntaxError: missing variable name (Firefox)
SyntaxError: Unexpected token '='. Expected a parameter pattern or a ')' in parameter list. (Safari)

Loại lỗi

SyntaxError

Nguyên nhân?

Một biến thiếu tên. Nguyên nhân có thể là lỗi đánh máy hoặc quên tên biến. Hãy đảm bảo rằng bạn đã cung cấp tên biến trước dấu =.

Khi khai báo nhiều biến cùng lúc, hãy đảm bảo rằng các dòng/khai báo trước đó không kết thúc bằng dấu phẩy thay vì dấu chấm phẩy.

Ví dụ

Thiếu tên biến

js
const = "foo";

Rất dễ quên gán tên cho biến!

js
const description = "foo";

Từ khóa dành riêng không thể là tên biến

Có một số tên biến là từ khóa dành riêng. Bạn không thể sử dụng chúng. Rất tiếc :(

js
const debugger = "whoop";
// SyntaxError: missing variable name

Khai báo nhiều biến

Chú ý đặc biệt đến dấu phẩy khi khai báo nhiều biến. Có dấu phẩy thừa không, hoặc bạn đã dùng dấu phẩy thay vì dấu chấm phẩy không? Bạn có nhớ gán giá trị cho tất cả các biến const không?

js
let x, y = "foo",
const z, = "foo"

const first = document.getElementById("one"),
const second = document.getElementById("two"),

// SyntaxError: missing variable name

Phiên bản đã sửa:

js
let x,
  y = "foo";
const z = "foo";

const first = document.getElementById("one");
const second = document.getElementById("two");

Mảng

Các literal Array trong JavaScript cần có dấu ngoặc vuông bao quanh các giá trị. Điều này sẽ không hoạt động:

js
const arr = 1,2,3,4,5;
// SyntaxError: missing variable name

Cách đúng là:

js
const arr = [1, 2, 3, 4, 5];

Xem thêm