SyntaxError: missing ) after condition

Ngoại lệ JavaScript "missing ) after condition" xảy ra khi có lỗi trong cách viết điều kiện if. Điều kiện phải xuất hiện trong dấu ngoặc đơn sau từ khóa if.

Thông báo

SyntaxError: missing ) after condition (Firefox)
SyntaxError: Unexpected token '{'. Expected ')' to end an 'if' condition. (Safari)

Loại lỗi

SyntaxError

Nguyên nhân?

Có lỗi trong cách viết điều kiện if. Trong bất kỳ ngôn ngữ lập trình nào, code cũng cần đưa ra quyết định và thực hiện các hành động tương ứng dựa trên các đầu vào khác nhau. Câu lệnh if thực thi một câu lệnh nếu điều kiện được chỉ định là truthy. Trong JavaScript, điều kiện này phải xuất hiện trong dấu ngoặc đơn sau từ khóa if, như sau:

js
if (condition) {
  // làm gì đó nếu điều kiện đúng
}

Ví dụ

Thiếu dấu ngoặc đơn

Có thể chỉ là sơ ý, hãy kiểm tra cẩn thận tất cả các dấu ngoặc đơn trong code của bạn.

js
if (Math.PI < 3 {
  console.log("wait what?");
}

// SyntaxError: missing ) after condition

Để sửa code này, bạn cần thêm một dấu ngoặc đơn đóng điều kiện.

js
if (Math.PI < 3) {
  console.log("wait what?");
}

Sử dụng sai từ khóa is

Nếu bạn đến từ ngôn ngữ lập trình khác, cũng dễ thêm các từ khóa không có cùng nghĩa hoặc không có nghĩa gì trong JavaScript.

js
if (done is true) {
 console.log("we are done!");
}

// SyntaxError: missing ) after condition

Thay vào đó bạn cần sử dụng toán tử so sánh đúng. Ví dụ:

js
if (done === true) {
  console.log("we are done!");
}

Hoặc tốt hơn:

js
if (done) {
  console.log("we are done!");
}

Xem thêm