| create-value.js |
---
esid: sec-symbol.for
es6id: 19.4.2.1
description: Creation of a unique Symbol value
info: |
1. Let stringKey be ? ToString(key).
2. For each element e of the GlobalSymbolRegistry List,
a. If SameValue(e.[[Key]], stringKey) is true, return e.[[Symbol]].
3. Assert: GlobalSymbolRegistry does not currently contain an entry for
stringKey.
4. Let newSymbol be a new unique Symbol value whose [[Description]] value
is stringKey.
5. Append the Record { [[Key]]: stringKey, [[Symbol]]: newSymbol } to the
GlobalSymbolRegistry List.
6. Return newSymbol.
features: [Symbol]
--- |
943 |
- |
| cross-realm.js |
---
esid: sec-symbol.for
es6id: 19.4.2.1
description: Global symbol registry is shared by all realms
info: |
The GlobalSymbolRegistry is a List that is globally available. It is shared
by all realms. Prior to the evaluation of any ECMAScript code it is
initialized as a new empty List.
features: [cross-realm, Symbol]
--- |
736 |
- |
| length.js |
---
es6id: 19.4.2.1
description: >
Symbol.for.length is 1.
info: |
Symbol.for ( key )
17 ECMAScript Standard Built-in Objects:
Every built-in Function object, including constructors, has a length
property whose value is an integer. Unless otherwise specified, this
value is equal to the largest number of named arguments shown in the
subclause headings for the function description, including optional
parameters. However, rest parameters shown using the form “...name”
are not included in the default argument count.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js]
features: [Symbol]
--- |
1091 |
- |
| name.js |
---
es6id: 19.4.2.1
description: >
Symbol.for.name is "for".
info: |
Symbol.for ( key )
17 ECMAScript Standard Built-in Objects:
Every built-in Function object, including constructors, that is not
identified as an anonymous function has a name property whose value
is a String.
Unless otherwise specified, the name property of a built-in Function
object, if it exists, has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
features: [Symbol]
--- |
844 |
- |
| prop-desc.js |
---
esid: sec-symbol.for
es6id: 19.4.2.1
description: Property descriptor
info: |
Every other data property described in clauses 18 through 26 and in Annex
B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false,
[[Configurable]]: true } unless otherwise specified.
includes: [propertyHelper.js]
features: [Symbol]
--- |
637 |
- |
| retrieve-value.js |
---
esid: sec-symbol.for
es6id: 19.4.2.1
description: Retrieval of previously-created value
info: |
1. Let stringKey be ? ToString(key).
2. For each element e of the GlobalSymbolRegistry List,
a. If SameValue(e.[[Key]], stringKey) is true, return e.[[Symbol]].
3. Assert: GlobalSymbolRegistry does not currently contain an entry for
stringKey.
4. Let newSymbol be a new unique Symbol value whose [[Description]] value
is stringKey.
5. Append the Record { [[Key]]: stringKey, [[Symbol]]: newSymbol } to the
GlobalSymbolRegistry List.
6. Return newSymbol.
features: [Symbol]
--- |
899 |
- |
| to-string-err.js |
---
esid: sec-symbol.for
es6id: 19.4.2.1
description: Error resulting from string coercion of first argument
info: |
1. Let stringKey be ? ToString(key).
features: [Symbol]
--- |
561 |
- |