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