Mã thông báo bất ngờ trong javascript là gì?

Ngoại lệ JavaScript "mã thông báo không mong muốn" xảy ra khi một cấu trúc ngôn ngữ cụ thể được mong đợi, nhưng một thứ khác đã được cung cấp. Đây có thể là một lỗi đánh máy đơn giản

Thông điệp

SyntaxError: expected expression, got "x"
SyntaxError: expected property name, got "x"
SyntaxError: expected target, got "x"
SyntaxError: expected rest argument name, got "x"
SyntaxError: expected closing parenthesis, got "x"
SyntaxError: expected '=>' after argument list, got "x"

loại lỗi

function round(n, upperBound, lowerBound){
  if(n > upperBound) || (n < lowerBound){
    throw 'Number ' + String(n) + ' is more than ' + String(upperBound) + ' or less than ' + String(lowerBound);
  }else if(n < ((upperBound + lowerBound)/2)){
    return lowerBound;
  }else{
    return upperBound;
  }
} // SyntaxError: expected expression, got '||'
7

Có chuyện gì?

Một cấu trúc ngôn ngữ cụ thể đã được mong đợi, nhưng một thứ khác đã được cung cấp. Đây có thể là một lỗi đánh máy đơn giản

ví dụ

Biểu hiện dự kiến

Ví dụ: khi xâu chuỗi các biểu thức, không được phép có dấu phẩy ở cuối

for (let i = 0; i < 5,; ++i) {
  console.log(i);
}
// SyntaxError: expected expression, got ')'

Đúng là bỏ dấu phẩy hoặc thêm biểu thức khác

for (let i = 0; i < 5; ++i) {
  console.log(i);
}

Không đủ dấu ngoặc

Đôi khi, bạn bỏ dấu ngoặc xung quanh câu lệnh

function round(n, upperBound, lowerBound){
  if(n > upperBound) || (n < lowerBound){
    throw 'Number ' + String(n) + ' is more than ' + String(upperBound) + ' or less than ' + String(lowerBound);
  }else if(n < ((upperBound + lowerBound)/2)){
    return lowerBound;
  }else{
    return upperBound;
  }
} // SyntaxError: expected expression, got '||'
8

function round(n, upperBound, lowerBound){
  if(n > upperBound) || (n < lowerBound){
    throw 'Number ' + String(n) + ' is more than ' + String(upperBound) + ' or less than ' + String(lowerBound);
  }else if(n < ((upperBound + lowerBound)/2)){
    return lowerBound;
  }else{
    return upperBound;
  }
} // SyntaxError: expected expression, got '||'

Thoạt nhìn, dấu ngoặc có thể đúng, nhưng hãy lưu ý cách

function round(n, upperBound, lowerBound){
  if(n > upperBound) || (n < lowerBound){
    throw 'Number ' + String(n) + ' is more than ' + String(upperBound) + ' or less than ' + String(lowerBound);
  }else if(n < ((upperBound + lowerBound)/2)){
    return lowerBound;
  }else{
    return upperBound;
  }
} // SyntaxError: expected expression, got '||'
9 nằm bên ngoài dấu ngoặc. Đúng sẽ là đặt dấu ngoặc xung quanh
function round(n, upperBound, lowerBound){
  if(n > upperBound) || (n < lowerBound){
    throw 'Number ' + String(n) + ' is more than ' + String(upperBound) + ' or less than ' + String(lowerBound);
  }else if(n < ((upperBound + lowerBound)/2)){
    return lowerBound;
  }else{
    return upperBound;
  }
} // SyntaxError: expected expression, got '||'
9

Lỗi cú pháp. Mã thông báo không mong muốn trong JavaScript

"Lỗi cú pháp không bắt được. Mã thông báo bất ngờ" ngoại lệ xảy ra vì nhiều lý do

  1. Một dấu ngoặc, dấu ngoặc đơn hoặc dấu phẩy bị thiếu hoặc thừa trong mã của bạn
  2. Một trích dẫn đóng bị thiếu của một chuỗi ký tự
  3. Một
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    1

LnRiLWNvbnRhaW5lciAudGItY29udGFpbmVyLWlubmVye3dpZHRoOjEwMCU7bWFyZ2luOjAgYXV0b30gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWNvbnRhaW5lci50Yi1jb250YWluZXJbZGF0YS10b29sc2V0LWJsb2Nrcy1jb250YWluZXI9IjdmZjEwMTJkZDQ1MGExMTU3YWYxZWM0N2IzYmE4OTE0Il0geyBwYWRkaW5nOiAyNXB4O21hcmdpbi1ib3R0b206IDBweDsgfSBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc4MXB4KSB7IC50Yi1jb250YWluZXIgLnRiLWNvbnRhaW5lci1pbm5lcnt3aWR0aDoxMDAlO21hcmdpbjowIGF1dG99IH0gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkgeyAudGItY29udGFpbmVyIC50Yi1jb250YWluZXItaW5uZXJ7d2lkdGg6MTAwJTttYXJnaW46MCBhdXRvfSB9IA==

Lỗi cú pháp. Mã thông báo không mong muốn trong JavaScript

Ngày 8 tháng 12 năm 2022

Mã thông báo bất ngờ trong javascript là gì?

Hướng dẫn này là một phần của loạt bài "Các lỗi JavaScript phổ biến". Nó hoàn toàn tập trung vào việc cung cấp các giải pháp nhanh chóng và dễ dàng cho các sự cố liên quan đến JavaScript


"Lỗi cú pháp. Lỗi mã thông báo không mong đợi" trong JavaScript là lỗi cú pháp phổ biến xảy ra khi trình thông dịch JavaScript gặp mã thông báo (i. e. một đoạn mã) mà nó không mong đợi. Điều này có thể xảy ra vì nhiều lý do, chẳng hạn như

  • Thiếu hoặc thừa dấu phẩy trong một mảng hoặc đối tượng theo nghĩa đen
  • Dấu ngoặc đơn bị thiếu hoặc thừa trong lời gọi hàm hoặc biểu thức
  • Một dấu ngoặc đóng bị thiếu hoặc thừa trong một mảng hoặc đối tượng theo nghĩa đen
  • Một chuỗi ký tự không được tiết lộ
  • Một từ khóa hoặc số nhận dạng không được công nhận
  • Thẻ mở trong tài liệu HTML. e. g. Thẻ
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    2

Dưới đây là một số ví dụ về mã có thể gây ra lỗi

// Missing comma in array literal
const arr = [1, 2 3];

// Extra closing parenthesis in function call
myFunction(1, 2);)

// Unclosed string literal
const str = 'Hello, world;

// Unrecognized keyword
const foo = true;
bar = false;

Trong các ví dụ này, trình thông dịch JavaScript gặp phải các mã thông báo mà nó không mong đợi (e. g. dấu ngoặc đơn đóng bổ sung trong ví dụ thứ hai) và nó đưa ra lỗi "SyntaxError. Lỗi mã thông báo không mong muốn"

Để khắc phục lỗi này, bạn phải xem xét cẩn thận mã của mình và xác định mã thông báo không mong muốn gây ra lỗi. Khi bạn đã tìm thấy mã thông báo không mong muốn, bạn có thể sửa nó bằng cách xóa mã đó, thêm mã thông báo bị thiếu mà lẽ ra nó phải được ghép nối hoặc sửa lỗi cú pháp khiến mã thông báo không mong muốn xuất hiện

Xử lý lỗi JavaScript. Mã thông báo bất ngờ

Cải thiện bài viết

Lưu bài viết

Thích bài viết

  • Cập nhật lần cuối. 20 tháng 7 năm 2021

  • Đọc
  • Bàn luận
  • khóa học
  • Luyện tập
  • Băng hình
  • Cải thiện bài viết

    Lưu bài viết

    Giống như các ngôn ngữ lập trình khác, JavaScript đã xác định một số quy tắc lập trình phù hợp. Không theo dõi họ ném một lỗi. Mã thông báo không mong muốn xảy ra nếu mã JavaScript thiếu hoặc thừa ký tự { like, ) + – var if-else var etc}. Mã thông báo không mong muốn tương tự như lỗi cú pháp nhưng cụ thể hơn. Dấu chấm phẩy (;) trong JavaScript đóng một vai trò quan trọng trong khi viết chương trình.
    Cách sử dụng. Để hiểu điều này, chúng ta nên biết JavaScript cũng có một cú pháp cụ thể như trong JavaScript được kết thúc bằng dấu chấm phẩy (;) và có nhiều quy tắc như tất cả khoảng trắng/tab/dòng mới được coi là khoảng trắng. Mã JavaScript được phân tích cú pháp từ trái sang phải, đó là một quá trình trong đó trình phân tích cú pháp chuyển đổi các câu lệnh và khoảng trắng thành các phần tử duy nhất.
     

    • mã thông báo. Tất cả các toán tử (+, -, if, other…) được đặt trước bởi công cụ JavaScript. Vì vậy, nó không thể được sử dụng sai. Nó không thể được sử dụng như một phần của tên biến
    • đầu cuối dòng. Mã JavaScript phải kết thúc bằng dấu chấm phẩy (;)
    • Ký tự điều khiển. Để kiểm soát mã, điều quan trọng là phải duy trì dấu ngoặc nhọn ({ }) trong mã. Nó cũng quan trọng để xác định phạm vi của mã
    • Bình luận. Một dòng mã được viết sau // là một chú thích. JavaScript bỏ qua dòng này
    • Khoảng trắng. Đó là một tab/không gian trong mã. Thay đổi nó không thay đổi chức năng của mã

    Do đó, mã JavaScript rất nhạy cảm với bất kỳ lỗi đánh máy nào. Những ví dụ được đưa ra dưới đây giải thích những cách mà mã thông báo không mong muốn có thể xảy ra.
    Ví dụ 1. Nó có mong đợi một tham số trong myFunc(mycar, ) hay không,. Vì vậy, nó đã được kích hoạt để thực thi mã này.
     

    jav




    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    2

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    4
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    5

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    6
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    4
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    8

    expected expression, got ', '
    0____51____52____53

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    6
    expected expression, got ', '
    5

    ________ 46 ________ 57 ________ 58

    expected expression, got ', '
    0____130____131
    for (let i = 0; i < 5,; ++i) {
      console.log(i);
    }
    // SyntaxError: expected expression, got ')'
    
    32

    _______50____134____135____132

    expected expression, got ', '
    0
    for (let i = 0; i < 5,; ++i) {
      console.log(i);
    }
    // SyntaxError: expected expression, got ')'
    
    38

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    6
    for (let i = 0; i < 5; ++i) {
      console.log(i);
    }
    
    20

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    6
    expected expression, got ', '
    7
    for (let i = 0; i < 5; ++i) {
      console.log(i);
    }
    
    23

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    6
    for (let i = 0; i < 5; ++i) {
      console.log(i);
    }
    
    25

    _______46____227

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    6
    for (let i = 0; i < 5; ++i) {
      console.log(i);
    }
    
    29

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    20

    Đầu ra.
     

    for (let i = 0; i < 5; ++i) {
      console.log(i);
    }
    
    8

    Ví dụ 2. Mã thông báo không mong muốn ',' xảy ra sau i=0 mà javascript không thể nhận ra. Chúng tôi có thể loại bỏ lỗi ở đây bằng cách loại bỏ thêm.
     

    jav




    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    2

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    22
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    23

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    24

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    25
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    26

    expected expression, got ', '
    5

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    20

    Đầu ra.
     

    expected expression, got ', '

    Ví dụ 3. Một mã thông báo không mong muốn ')' xảy ra sau i++ mà JavaScript không thể nhận ra. Chúng tôi có thể xóa lỗi ở đây bằng cách xóa thêm).
     

    jav




    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    2

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    22
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    41

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    24

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    25
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    44

    expected expression, got ', '
    5

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    20

    Đầu ra 
     

    for (let i = 0; i < 5,; ++i) {
      console.log(i);
    }
    // SyntaxError: expected expression, got ')'
    
    3

    Ví dụ 4. Ở cuối phần thân của if, JavaScript đã mong đợi dấu ngoặc nhọn “}” nhưng thay vào đó, nó nhận được mã thông báo khác không mong muốn. Nếu chúng ta đặt } ở cuối phần thân của if.
     

    jav




    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    2

    expected expression, got ', '
    7
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    49

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    50
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    51

    _______46____453____454

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    55

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    6
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    57
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    24

    expected expression, got ', '
    0____453____461
    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    55

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    6
    expected expression, got ', '
    5

    // Missing comma in array literal
    const arr = [1, 2 3];
    
    // Extra closing parenthesis in function call
    myFunction(1, 2);)
    
    // Unclosed string literal
    const str = 'Hello, world;
    
    // Unrecognized keyword
    const foo = true;
    bar = false;
    20

    Đầu ra 
     

    for (let i = 0; i < 5; ++i) {
      console.log(i);
    }
    
    2

    Tương tự, việc sử dụng bất kỳ mã thông báo nào không cần thiết sẽ gây ra loại lỗi này. Chúng tôi có thể loại bỏ lỗi này bằng cách ràng buộc bằng cách tuân theo các quy tắc lập trình của JavaScript.
     


    Ghi chú cá nhân của tôi arrow_drop_up

    Tiết kiệm

    Vui lòng Đăng nhập để nhận xét.

    Mã thông báo trong JavaScript là gì?

    Mã thông báo. Đây là các từ hoặc ký hiệu được mã sử dụng để chỉ định logic của ứng dụng . Chúng bao gồm +, -, ?, nếu, khác và var. Chúng được dành riêng bởi công cụ JavaScript và không thể bị lạm dụng. Chúng cũng không thể được sử dụng như một phần của tên biến.

    Mã thông báo không hợp lệ hoặc không mong muốn là gì?

    Nguyên nhân của Lỗi Cú pháp. Lỗi mã thông báo không mong muốn . Trong một số trường hợp, lỗi cũng có thể do cấu hình sai hoặc không tương thích với trình duyệt hoặc môi trường phát triển. typically, the error is caused by a typo or incorrect code. In some cases, the error may also be caused by a misconfiguration or incompatibility with the browser or development environment.

    JavaScript nhận dạng không mong muốn là gì?

    "Lỗi cú pháp không bắt buộc. Lỗi định danh không mong đợi" thường xảy ra do từ khóa viết sai chính tả, thiếu toán tử hoặc thiếu dấu phẩy . Từ khóa trong JavaScript bao gồm các từ như let , class , function , const. Những từ này có một ý nghĩa đặc biệt trong ngôn ngữ và là một phần của cú pháp.

    Mã thông báo bất ngờ VAR là gì?

    Giống như các ngôn ngữ lập trình khác, JavaScript đã xác định một số quy tắc lập trình phù hợp. Không theo dõi họ ném một lỗi. Mã thông báo không mong muốn xảy ra nếu mã JavaScript thiếu hoặc thừa ký tự { like, ) + – var if-else var etc} . Mã thông báo không mong muốn tương tự như lỗi cú pháp nhưng cụ thể hơn.