zezwalaj na wklejanie

Wiadomo艣膰

SyntaxError: Expected ';' (Edge)
SyntaxError: missing ; before statement (Firefox)

Typ B艂臋du

SyntaxError.

Co posz艂o nie tak?

Brakuje gdzie艣 艣rednika (;). Instrukcje JavaScript musz膮 by膰 zako艅czone 艣rednikami. Niekt贸re z nich podlegaj膮 automatycznemu wstawianiu 艣rednika (ASI), ale w tym przypadku musisz poda膰 艣rednik, aby JavaScript m贸g艂 poprawnie przeanalizowa膰 kod 藕r贸d艂owy.

Jednak cz臋sto ten b艂膮d jest tylko konsekwencj膮 innego b艂臋du, takiego jak niew艂a艣ciwe unikanie ci膮g贸w znak贸w lub niew艂a艣ciwe u偶ywanie zmiennej var. Mo偶esz tak偶e mie膰 gdzie艣 za du偶o nawias贸w. Dok艂adnie sprawd藕 sk艂adni臋, gdy ten b艂膮d zostanie zg艂oszony.

Przyk艂ady

Niezdefiniowane wiersze

Ten b艂膮d mo偶e wyst膮pi膰 z 艂atwo艣ci膮, gdy 艂a艅cuch znak贸w nie jest poprawnie zlozony, a silnik JavaScript oczekuje ju偶 ko艅ca 艂a艅cucha. Na przyk艂ad:

var foo = 'Tom's bar';
// SyntaxError: missing ; before statement

Mo偶esz u偶y膰 podw贸jnych cudzys艂ow贸w lub uciec od apostrofu:

var foo = "Tom's bar";
var foo = 'Tom\'s bar';

Deklarowanie w艂a艣ciwo艣ci za pomoc膮 var

Nie mo偶na zadeklarowa膰 w艂a艣ciwo艣ci obiektu lub tablicy za pomoc膮 deklaracji var.

var obj = {};
var obj.foo = 'hi'; // SyntaxError missing ; before statement

var array = [];
var array[0] = 'there'; // SyntaxError missing ; before statement

Zamiast tego pomi艅 s艂owo kluczowe var:

var obj = {};
obj.foo = 'hi';

var array = [];
array[0] = 'there';

Bad keywords

Je艣li pochodzisz z innego j臋zyka programowania, cz臋sto u偶ywasz s艂贸w kluczowych, kt贸re nie oznaczaj膮 tego samego lub nie maj膮 偶adnego znaczenia w javaScript:

def print(info){
  console.log(info);
}; // SyntaxError missing ; before statement

Zamiast tego u偶yj funkcji def:

function print(info){
  console.log(info);
};

Zobacz tez