Довідка помилок JavaScript
Нижче – список помилок, які викидаються JavaScript. Ці помилки можуть бути корисними при зневадженні, але виведена проблема не завжди є зразу зрозумілою. Сторінки нижче надають додаткові подробиці про ці помилки. Кожна помилка є об'єктом, заснованим на об'єкті Error, і має name і message.
Помилки, виведені у вебконсолі, можуть містити посилання на відповідну сторінку нижче, щоб допомогти швидко зрозуміти проблему у коді.
Вступний підручник початківця з усунення помилок JavaScript дивіться Що пішло не так? Зневадження JavaScript.
Список помилок
У цьому списку кожна сторінка перелічена за назвою (типом помилки) та повідомленням (більш докладним повідомленням про помилку, доступним для прочитання людиною). Разом ці дві властивості надають початкову точку для розуміння та вирішення помилки. Більше інформації – за посиланнями нижче!
- Warning: -file- is being assigned a //# sourceMappingURL, but already has one
- SyntaxError: arguments is not valid in fields
- TypeError: already executing generator
- TypeError: invalid Array.prototype.sort argument
- SyntaxError: await is only valid in async functions, async generators and modules
- SyntaxError: await/yield expression can\'t be used in parameter
- SyntaxError: unlabeled break must be inside loop or switch
- SyntaxError: new keyword cannot be used with an optional chain
- SyntaxError: continue must be inside loop
- RangeError: radix must be an integer
- SyntaxError: tagged template cannot be used with optional chain
- SyntaxError: return not in function
- SyntaxError: invalid regular expression flag "x"
- SyntaxError: \'arguments\'/\'eval\' can\'t be defined or assigned to in strict mode code
- SyntaxError: super() is only valid in derived class constructors
- SyntaxError: use of super property/member accesses only valid within methods or eval code within methods
- RangeError: BigInt division by zero
- TypeError: BigInt value can\'t be serialized in JSON
- RangeError: BigInt negative exponent
- TypeError: calling a builtin X constructor without new is forbidden
- ReferenceError: can\'t access lexical declaration \'X\' before initialization
- TypeError: X.prototype.y called on incompatible type
- TypeError: can\'t assign to property "x" on "y": not an object
- TypeError: can\'t convert BigInt to number
- RangeError: x can\'t be converted to BigInt because it isn\'t an integer
- TypeError: can\'t define property "x": "obj" is not extensible
- TypeError: can\'t convert x to BigInt
- TypeError: property "x" is non-configurable and can\'t be deleted
- SyntaxError: private fields can\'t be deleted
- TypeError: can\'t redefine non-configurable property "x"
- SyntaxError: cannot use ?? unparenthesized within || and && expressions
- TypeError: can\'t set prototype of this object
- TypeError: Iterator/AsyncIterator constructor can\'t be used directly
- TypeError: class constructors must be invoked with \'new\'
- TypeError: cyclic object value
- TypeError: can\'t set prototype: it would cause a prototype chain cycle
- SyntaxError: applying the \'delete\' operator to an unqualified name is deprecated
- TypeError: \'caller\', \'callee\', and \'arguments\' properties may not be accessed
- SyntaxError: octal escape sequences can\'t be used in untagged template literals or in strict mode code
- SyntaxError: "0"-prefixed octal literals are deprecated
- SyntaxError: getter and setter for private name #x should either be both static or non-static
- SyntaxError: duplicate formal argument x
- SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead
- SyntaxError: property name __proto__ appears more than once in object literal
- RangeError: form must be one of \'NFC\', \'NFD\', \'NFKC\', or \'NFKD\'
- TypeError: can\'t access/set private field or method: object is not the right class
- SyntaxError: getter functions must have no arguments
- SyntaxError: functions cannot be labelled
- TypeError: setting getter-only property "x"
- SyntaxError: Unexpected \'#\' used outside of class body
- SyntaxError: identifier starts immediately after numeric literal
- SyntaxError: import declarations may only appear at top level of a module
- SyntaxError: illegal character
- TypeError: cannot use \'in\' operator to search for \'x\' in \'y\'
- SyntaxError: invalid assignment left-hand side
- RangeError: invalid array length
- SyntaxError: invalid BigInt syntax
- TypeError: invalid assignment to const "x"
- RangeError: invalid date
- TypeError: derived class constructor returned invalid value x
- SyntaxError: a declaration in the head of a for-of loop can\'t have an initializer
- SyntaxError: for-in loop head declarations may not have initializers
- TypeError: invalid \'instanceof\' operand \'x\'
- TypeError: \'x\' is not iterable
- TypeError: WeakSet key/WeakMap value \'x\' must be an object or an unregistered symbol
- SyntaxError: JSON.parse: bad parsing
- SyntaxError: label not found
- URIError: malformed URI sequence
- SyntaxError: missing } after function body
- SyntaxError: missing = in const declaration
- SyntaxError: missing } after property list
- SyntaxError: missing name after . operator
- SyntaxError: missing : after property id
- SyntaxError: missing formal parameter
- SyntaxError: missing ) after condition
- SyntaxError: missing ) after argument list
- SyntaxError: missing ] after element list
- TypeError: More arguments needed
- RangeError: repeat count must be non-negative
- TypeError: "x" is not a non-null object
- TypeError: null/undefined has no properties
- SyntaxError: missing variable name
- TypeError: can\'t delete non-configurable array element
- TypeError: "x" is not a constructor
- RangeError: argument is not a valid code point
- TypeError: "x" is not a function
- SyntaxError: parameter after rest parameter
- RangeError: precision is out of range
- TypeError: getting private setter-only property
- TypeError: Initializing an object twice is an error with private fields/methods
- TypeError: "x" is read-only
- AggregateError: No Promise in Promise.any was resolved
- SyntaxError: redeclaration of formal parameter "x"
- TypeError: Reduce of empty array with no initial value
- SyntaxError: \ at end of pattern
- SyntaxError: duplicate capture group name in regular expression
- Error: Permission denied to access property "x"
- SyntaxError: character class escape cannot be used in class range in regular expression
- SyntaxError: incomplete quantifier in regular expression
- SyntaxError: invalid capture group name in regular expression
- SyntaxError: invalid character in class in regular expression
- SyntaxError: invalid class set operation in regular expression
- SyntaxError: invalid regexp group
- SyntaxError: invalid decimal escape in regular expression
- SyntaxError: invalid named capture reference in regular expression
- SyntaxError: invalid identity escape in regular expression
- SyntaxError: invalid property name in regular expression
- SyntaxError: invalid unicode escape in regular expression
- SyntaxError: invalid range in character class
- SyntaxError: negated character class with strings in regular expression
- SyntaxError: nothing to repeat
- SyntaxError: raw bracket is not allowed in regular expression with unicode flag
- SyntaxError: numbers out of order in {} quantifier.
- RangeError: repeat count must be less than infinity
- TypeError: matchAll/replaceAll must be called with a global RegExp
- SyntaxError: "x" is a reserved identifier
- SyntaxError: rest parameter may not have a default
- SyntaxError: setter functions must have one argument
- Warning: unreachable code after return statement
- SyntaxError: "use strict" not allowed in function with non-simple parameters
- SyntaxError: string literal contains an unescaped line break
- ReferenceError: super() called twice in derived class constructor
- SyntaxError: reference to undeclared private field or method #x
- InternalError: too much recursion
- SyntaxError: Unexpected token
- ReferenceError: assignment to undeclared variable "x"
- SyntaxError: unparenthesized unary expression can\'t appear on the left-hand side of \'**\'
- TypeError: "x" is (not) "y"
- ReferenceError: must call super constructor before using \'this\' in derived class constructor
- SyntaxError: function statement requires a name
- ReferenceError: "x" is not defined