new Operatorsuper Keyword? : ), )if Statementdo-while Statementwhile Statementfor Statementfor-in,for-of, andfor-await-of Statementscontinue Statementbreak Statementreturn Statementwith Statementswitch Statementthrow Statementtry Statementdebugger Statement?um/p1-90`The Object
extends clause of a class definition.This function performs the following steps when called:
The Object
This function copies the values of all of the enumerable own properties from one or more source objects to atarget object.
It performs the following steps when called:
The
This function creates a new object with a specified prototype.
It performs the following steps when called:
This function adds own properties and/or updates the attributes of existing own properties of an object.
It performs the following steps when called:
The abstract operation ObjectDefineProperties takes argumentsO (an Object) andProperties (an
This function adds an own property and/or updates the attributes of an existing own property of an object.
It performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
The abstract operation GetOwnPropertyKeys takes argumentsO (an
This function performs the following steps when called:
callback should be a function that accepts two arguments.groupBy callscallback once for each element initems, in ascending order, and constructs a new object. Each value returned bycallback is coerced to a
callback is called with two arguments: the value of the element and the index of the element.
The return value ofgroupBy is an object that does not inherit from
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
The initial value ofObject.prototype is the
This property has the attributes {[[Writable]]:
This function performs the following steps when called:
This function performs the following steps when called:
This function performs the following steps when called:
TheObject prototype object:
The initial value ofObject.prototype.constructor is
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method does not consider objects in the prototype chain.
This method performs the following steps when called:
The optional parameters to this method are not used but are intended to correspond to the parameter pattern used by ECMA-402toLocaleString methods. Implementations that do not include ECMA-402 support must not use those parameter positions for other purposes.
This method provides a generictoLocaleString implementation for objects that have no locale-sensitivetoString behaviour.Array,Number,Date, andtoLocaleString methods.
ECMA-402 intentionally does not provide an alternative to this default implementation.
This method performs the following steps when called:
Historically, this method was occasionally used to access the String value of the[[Class]] internal slot that was used in previous editions of this specification as a nominal type tag for various built-in objects. The above definition oftoString preserves compatibility for legacy code that usestoString as a test for those specific kinds of built-in objects. It does not provide a reliable type testing mechanism for other kinds of built-in or program defined objects. In addition, programs can use
This method performs the following steps when called:
Object.prototype.__proto__ is an
The value of the[[Get]] attribute is a built-in function that requires no arguments. It performs the following steps when called:
The value of the[[Set]] attribute is a built-in function that takes an argumentproto. It performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
This method performs the following steps when called:
Object instances have no special properties beyond those inherited from the
The Function
Function(…) is equivalent to the object creation expressionnew Function(…) with the same arguments.extends clause of a class definition. Subclasssuper call to the FunctionThe last argument (if any) specifies the body (executable code) of a function; any preceding arguments specify formal parameters.
This function performs the following steps when called:
It is permissible but not necessary to have one argument for each formal parameter to be specified. For example, all three of the following expressions produce the same result:
newFunction("a","b","c","return a+b+c")newFunction("a, b, c","return a+b+c")newFunction("a,b","c","return a+b+c")The abstract operation CreateDynamicFunction takes argumentsconstructor (anew was initially applied to.parameterArgs andbodyArg reflect the argument values that were passed toconstructor. It performs the following steps when called:
new Function("/*", "*/ ) {") does not evaluate to a function.CreateDynamicFunction defines a
The Function
The value ofFunction.prototype is the
This property has the attributes {[[Writable]]:
TheFunction prototype object:
new operator.The Function prototype object is specified to be a
This method performs the following steps when called:
ThethisArg value is passed without modification as the
Iffunc is either an arrow function or a
This method performs the following steps when called:
Function.prototype.bind are
IfTarget is either an arrow function or a
This method performs the following steps when called:
ThethisArg value is passed without modification as the
Iffunc is either an arrow function or a
The initial value ofFunction.prototype.constructor is
This method performs the following steps when called:
This method performs the following steps when called:
This property has the attributes {[[Writable]]:
This is the default implementation of%Symbol.hasInstance% that most functions inherit.%Symbol.hasInstance% is called by theinstanceof operator to determine whether a value is an instance of a specific
vinstanceof Fevaluates as
F[%Symbol.hasInstance%](v)Ainstanceof by exposing a different%Symbol.hasInstance% method on the function.
This property is non-writable and non-configurable to prevent tampering that could be used to globally expose the target function of a bound function.
The value of the
Every Function instance is an ECMAScriptFunction.prototype.bind method (
Function instances have the following properties:
The value of the
The value of the
Anonymous
Function instances that can be used as a
This property has the attributes {[[Writable]]:
Function.prototype.bind, or by evaluating a
The
An implementation of HostHasSourceTextAvailable must conform to the following requirements:
The default implementation of HostHasSourceTextAvailable is to return
The Boolean
extends clause of a class definition. Subclasssuper call to the BooleanThis function performs the following steps when called:
The Boolean
The initial value ofBoolean.prototype is the
This property has the attributes {[[Writable]]:
TheBoolean prototype object:
The initial value ofBoolean.prototype.constructor is
This method performs the following steps when called:
This method performs the following steps when called:
The abstract operation ThisBooleanValue takes argumentvalue (an
Boolean instances are
The Symbol
new operator.extends clause of a class definition but asuper call to it will cause an exception.This function performs the following steps when called:
The Symbol
The initial value ofSymbol.asyncIterator is the well-known symbol
This property has the attributes {[[Writable]]:
This function performs the following steps when called:
TheGlobalSymbolRegistry List is an append-only
The initial value ofSymbol.hasInstance is the well-known symbol
This property has the attributes {[[Writable]]:
The initial value ofSymbol.isConcatSpreadable is the well-known symbol
This property has the attributes {[[Writable]]:
The initial value ofSymbol.iterator is the well-known symbol
This property has the attributes {[[Writable]]:
This function performs the following steps when called:
The initial value ofSymbol.match is the well-known symbol
This property has the attributes {[[Writable]]:
The initial value ofSymbol.matchAll is the well-known symbol
This property has the attributes {[[Writable]]:
The initial value ofSymbol.prototype is the
This property has the attributes {[[Writable]]:
The initial value ofSymbol.replace is the well-known symbol
This property has the attributes {[[Writable]]:
The initial value ofSymbol.search is the well-known symbol
This property has the attributes {[[Writable]]:
The initial value ofSymbol.species is the well-known symbol
This property has the attributes {[[Writable]]:
The initial value ofSymbol.split is the well-known symbol
This property has the attributes {[[Writable]]:
The initial value ofSymbol.toPrimitive is the well-known symbol
This property has the attributes {[[Writable]]:
The initial value ofSymbol.toStringTag is the well-known symbol
This property has the attributes {[[Writable]]:
The initial value ofSymbol.unscopables is the well-known symbol
This property has the attributes {[[Writable]]:
TheSymbol prototype object:
The initial value ofSymbol.prototype.constructor is
Symbol.prototype.description is an
This method performs the following steps when called:
The abstract operation SymbolDescriptiveString takes argumentsym (a Symbol) and returns a String. It performs the following steps when called:
This method performs the following steps when called:
The abstract operation ThisSymbolValue takes argumentvalue (an
This method is called by ECMAScript language operators to convert a Symbol object to a primitive value.
It performs the following steps when called:
The argument is ignored.
This property has the attributes {[[Writable]]:
The value of the
The initial value of the
This property has the attributes {[[Writable]]:
Symbol instances are
The abstract operation KeyForSymbol takes argumentsym (a Symbol) and returns a String or
Instances of Error objects are thrown as exceptions when runtime errors occur. The Error objects may also serve as base objects for user-defined exception classes.
When an ECMAScript implementation detects a runtime error, it throws a new instance of one of theNativeError objects defined in
The Error
Error(…) is equivalent to the object creation expressionnew Error(…) with the same arguments.extends clause of a class definition. Subclasssuper call to the ErrorThis function performs the following steps when called:
The Error
This function performs the following steps when called:
The initial value ofError.prototype is the
This property has the attributes {[[Writable]]:
TheError prototype object:
The initial value ofError.prototype.constructor is
The initial value ofError.prototype.message is the empty String.
The initial value ofError.prototype.name is
This method performs the following steps when called:
Error instances areObject.prototype.toString andError.isError.
A new instance of one of theNativeError objects below or of the AggregateError object is thrown when a runtime error is detected. AllNativeError objects share the same structure, as described in
The EvalError
This exception is not currently used within this specification. This object remains for compatibility with previous editions of this specification.
The RangeError
Indicates a value that is not in the set or range of allowable values.
The ReferenceError
Indicate that an invalid reference has been detected.
The SyntaxError
Indicates that a parsing error has occurred.
The TypeError
TypeError is used to indicate an unsuccessful operation when none of the otherNativeError objects are an appropriate indication of the failure cause.
The URIError
Indicates that one of the global URI handling functions was used in a way that is incompatible with its definition.
Each of these objects has the structure described below, differing only in the name used as the
For each error object, references toNativeError in the definition should be replaced with the appropriate error object name from
EachNativeError
NativeError(…) is equivalent to the object creation expressionnewNativeError(…) with the same arguments.extends clause of a class definition. Subclasssuper call to theNativeErrorEachNativeError function performs the following steps when called:
"%NativeError.prototype%", «[[ErrorData]] »).The actual value of the string passed in step
EachNativeError
The initial value ofNativeError.prototype is aNativeError prototype object (
This property has the attributes {[[Writable]]:
EachNativeError prototype object:
The initial value of the
The initial value of the
The initial value of the
NativeError instances areObject.prototype.toString (Error.isError (
The AggregateError
AggregateError(…) is equivalent to the object creation expressionnew AggregateError(…) with the same arguments.extends clause of a class definition. Subclasssuper call to the AggregateErrorThis function performs the following steps when called:
The AggregateError
The initial value ofAggregateError.prototype is
This property has the attributes {[[Writable]]:
TheAggregateError prototype object:
The initial value ofAggregateError.prototype.constructor is
The initial value ofAggregateError.prototype.message is the empty String.
The initial value ofAggregateError.prototype.name is
AggregateError instances areObject.prototype.toString (Error.isError (
The abstract operation InstallErrorCause takes argumentsO (an Object) andoptions (an