| 15.2.3.9-0-1.js |
---
es5id: 15.2.3.9-0-1
description: Object.freeze must exist as a function
--- |
299 |
- |
| 15.2.3.9-0-2.js |
---
es5id: 15.2.3.9-0-2
description: Object.freeze must exist as a function taking 1 parameter
--- |
307 |
- |
| 15.2.3.9-1-1.js |
---
es5id: 15.2.3.9-1-1
description: >
Object.freeze does not throw TypeError if type of first param is
undefined
--- |
293 |
- |
| 15.2.3.9-1-2.js |
---
es5id: 15.2.3.9-1-2
description: >
Object.freeze does not throw TypeError if type of first param is
null
--- |
283 |
- |
| 15.2.3.9-1-3.js |
---
es5id: 15.2.3.9-1-3
description: >
Object.freeze does not throw TypeError if type of first param is
boolean primitive
--- |
318 |
- |
| 15.2.3.9-1-4.js |
---
es5id: 15.2.3.9-1-4
description: >
Object.freeze does not throw TypeError if type of first param is
string primitive
--- |
296 |
- |
| 15.2.3.9-1.js |
---
es5id: 15.2.3.9-1
description: >
Object.freeze does not throw TypeError if type of first param is
not Object
--- |
284 |
- |
| 15.2.3.9-2-1.js |
---
es5id: 15.2.3.9-2-1
description: >
Object.freeze - extensible of 'O' is set as false even if 'O' has
no own property
--- |
389 |
- |
| 15.2.3.9-2-2.js |
---
es5id: 15.2.3.9-2-2
description: Object.freeze - inherited data properties are not frozen
--- |
660 |
- |
| 15.2.3.9-2-3.js |
---
es5id: 15.2.3.9-2-3
description: Object.freeze - inherited accessor properties are not frozen
--- |
691 |
- |
| 15.2.3.9-2-4.js |
---
es5id: 15.2.3.9-2-4
description: Object.freeze - Non-enumerable own properties of 'O' are frozen
includes: [propertyHelper.js]
--- |
483 |
- |
| 15.2.3.9-2-a-1.js |
---
es5id: 15.2.3.9-2-a-1
description: Object.freeze - 'P' is own data property
includes: [propertyHelper.js]
--- |
451 |
- |
| 15.2.3.9-2-a-2.js |
---
es5id: 15.2.3.9-2-a-2
description: >
Object.freeze - 'P' is own data property that overrides an
inherited data property
includes: [propertyHelper.js]
--- |
652 |
- |
| 15.2.3.9-2-a-3.js |
---
es5id: 15.2.3.9-2-a-3
description: >
Object.freeze - 'P' is own data property that overrides an
inherited accessor property
includes: [propertyHelper.js]
--- |
693 |
- |
| 15.2.3.9-2-a-4.js |
---
es5id: 15.2.3.9-2-a-4
description: Object.freeze - 'P' is own accessor property
includes: [propertyHelper.js]
--- |
485 |
- |
| 15.2.3.9-2-a-5.js |
---
es5id: 15.2.3.9-2-a-5
description: >
Object.freeze - 'P' is own accessor property that overrides an
inherited data property
includes: [propertyHelper.js]
--- |
694 |
- |
| 15.2.3.9-2-a-6.js |
---
es5id: 15.2.3.9-2-a-6
description: >
Object.freeze - 'P' is own accessor property that overrides an
inherited accessor property
includes: [propertyHelper.js]
--- |
727 |
- |
| 15.2.3.9-2-a-7.js |
---
es5id: 15.2.3.9-2-a-7
description: >
Object.freeze - 'P' is own named property of an Arguments object
that implements its own [[GetOwnProperty]]
includes: [propertyHelper.js]
--- |
576 |
- |
| 15.2.3.9-2-a-8.js |
---
es5id: 15.2.3.9-2-a-8
description: >
Object.freeze - 'P' is own named property of the String object
that implements its own [[GetOwnProperty]]
includes: [propertyHelper.js]
--- |
553 |
- |
| 15.2.3.9-2-a-9.js |
---
es5id: 15.2.3.9-2-a-9
description: >
Object.freeze - 'P' is own property of the Function object that
uses Object's [[GetOwnProperty]]
includes: [propertyHelper.js]
--- |
540 |
- |
| 15.2.3.9-2-a-10.js |
---
es5id: 15.2.3.9-2-a-10
description: >
Object.freeze - 'P' is own named property of an Array object that
uses Object's [[GetOwnProperty]]
includes: [propertyHelper.js]
--- |
532 |
- |
| 15.2.3.9-2-a-11.js |
---
es5id: 15.2.3.9-2-a-11
description: >
Object.freeze - 'P' is own index property of the Arguments object
that implements its own [[GetOwnProperty]]
includes: [propertyHelper.js]
--- |
565 |
- |
| 15.2.3.9-2-a-12.js |
---
es5id: 15.2.3.9-2-a-12
description: >
Object.freeze - 'P' is own index property of a String object that
implements its own [[GetOwnProperty]]
includes: [propertyHelper.js]
--- |
534 |
- |
| 15.2.3.9-2-a-13.js |
---
es5id: 15.2.3.9-2-a-13
description: Object.freeze - 'P' is own index property of the Object
includes: [propertyHelper.js]
--- |
479 |
- |
| 15.2.3.9-2-a-14.js |
---
es5id: 15.2.3.9-2-a-14
description: >
Object.freeze - 'P' is own index property of an Array object that
uses Object's [[GetOwnProperty]]
includes: [propertyHelper.js]
--- |
518 |
- |
| 15.2.3.9-2-b-i-1.js |
---
es5id: 15.2.3.9-2-b-i-1
description: >
Object.freeze - The [[Wrtiable]] attribute of own data property of
'O' is set to false while other attributes are unchanged
includes: [propertyHelper.js]
--- |
608 |
- |
| 15.2.3.9-2-b-i-2.js |
---
es5id: 15.2.3.9-2-b-i-2
description: >
Object.freeze - The [[Wrtiable]] attribute of all own data
property of 'O' is set to false while other attributes are
unchanged
includes: [propertyHelper.js]
--- |
846 |
- |
| 15.2.3.9-2-c-1.js |
---
es5id: 15.2.3.9-2-c-1
description: >
Object.freeze - The [[Configurable]] attribute of own data
property of 'O' is set to false while other attributes are
unchanged
includes: [propertyHelper.js]
--- |
614 |
- |
| 15.2.3.9-2-c-2.js |
---
es5id: 15.2.3.9-2-c-2
description: >
Object.freeze - The [[Configurable]] attribute of own accessor
property of 'O' is set to false while other attributes are
unchanged
includes: [propertyHelper.js]
--- |
833 |
- |
| 15.2.3.9-2-c-3.js |
---
es5id: 15.2.3.9-2-c-3
description: >
Object.freeze - The [[Configurable]] attribute of all own data
property of 'O' is set to false while other attributes are
unchanged
includes: [propertyHelper.js]
--- |
1345 |
- |
| 15.2.3.9-2-c-4.js |
---
es5id: 15.2.3.9-2-c-4
description: >
Object.freeze - all own properties of 'O' are not writable and not
configurable
includes: [propertyHelper.js]
--- |
1290 |
- |
| 15.2.3.9-2-d-1.js |
---
es5id: 15.2.3.9-2-d-1
description: Object.freeze - 'O' is a Function object
--- |
347 |
- |
| 15.2.3.9-2-d-2.js |
---
es5id: 15.2.3.9-2-d-2
description: Object.freeze - 'O' is an Array object
--- |
338 |
- |
| 15.2.3.9-2-d-3.js |
---
es5id: 15.2.3.9-2-d-3
description: Object.freeze - 'O' is a String object
--- |
347 |
- |
| 15.2.3.9-2-d-4.js |
---
es5id: 15.2.3.9-2-d-4
description: Object.freeze - 'O' is a Boolean object
--- |
355 |
- |
| 15.2.3.9-2-d-5.js |
---
es5id: 15.2.3.9-2-d-5
description: Object.freeze - 'O' is a Number object
--- |
345 |
- |
| 15.2.3.9-2-d-6.js |
---
es5id: 15.2.3.9-2-d-6
description: Object.freeze - 'O' is a Date object
--- |
345 |
- |
| 15.2.3.9-2-d-7.js |
---
es5id: 15.2.3.9-2-d-7
description: Object.freeze - 'O' is a RegExp object
--- |
344 |
- |
| 15.2.3.9-2-d-8.js |
---
es5id: 15.2.3.9-2-d-8
description: Object.freeze - 'O' is an Error object
--- |
349 |
- |
| 15.2.3.9-2-d-9.js |
---
es5id: 15.2.3.9-2-d-9
description: Object.freeze - 'O' is the Arguments object
--- |
375 |
- |
| 15.2.3.9-3-1.js |
---
es5id: 15.2.3.9-3-1
description: Object.freeze - returned object is not extensible
--- |
346 |
- |
| 15.2.3.9-4-1.js |
---
es5id: 15.2.3.9-4-1
description: Object.freeze - 'O' is sealed already
--- |
418 |
- |
| 15.2.3.9-4-2.js |
---
es5id: 15.2.3.9-4-2
description: Object.freeze - 'O' is frozen already
--- |
420 |
- |
| 15.2.3.9-4-3.js |
---
es5id: 15.2.3.9-4-3
description: Object.freeze - the extensions of 'O' is prevented already
--- |
452 |
- |
| abrupt-completion.js |
---
esid: sec-object.freeze
description: >
O.[[PreventExtensions]]() returns abrupt completion.
info: |
Object.freeze ( O )
...
2. Let status be ? SetIntegrityLevel(O, frozen).
SetIntegrityLevel ( O, level )
...
3. Let status be ? O.[[PreventExtensions]]().
features: [Proxy]
--- |
596 |
- |
| frozen-object-contains-symbol-properties-non-strict.js |
---
es6id: 19.1.2.5
description: >
Frozen object contains symbol properties.
flags: [noStrict]
features: [Symbol]
--- |
485 |
- |
| frozen-object-contains-symbol-properties-strict.js |
---
es6id: 19.1.2.5
description: >
Frozen object contains symbol properties.
flags: [onlyStrict]
features: [Symbol]
--- |
397 |
- |
| name.js |
---
es6id: 19.1.2.5
description: >
Object.freeze.name is "freeze".
info: |
Object.freeze ( O )
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]
--- |
794 |
- |
| not-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
Object.freeze does not implement [[Construct]], is not new-able
info: |
ECMAScript Function Objects
Built-in function objects that are not identified as constructors do not
implement the [[Construct]] internal method unless otherwise specified in
the description of a particular function.
sec-evaluatenew
...
7. If IsConstructor(constructor) is false, throw a TypeError exception.
...
includes: [isConstructor.js]
features: [Reflect.construct, arrow-function]
--- |
854 |
- |
| proxy-no-ownkeys-returned-keys-order.js |
---
esid: sec-object.freeze
description: >
If Proxy "ownKeys" trap is missing, keys are sorted by type in ascending
chronological order.
info: |
SetIntegrityLevel ( O, level )
[...]
5. Let keys be ? O.[[OwnPropertyKeys]]().
6. If level is sealed, then
[...]
7. Else,
a. Assert: level is frozen.
b. For each element k of keys, do
i. Let currentDesc be ? O.[[GetOwnProperty]](k).
[[OwnPropertyKeys]] ( )
[...]
6. If trap is undefined, then
a. Return ? target.[[OwnPropertyKeys]]().
OrdinaryOwnPropertyKeys ( O )
[...]
3. For each own property key P of O such that Type(P) is String and P is
not an array index, in ascending chronological order of property creation, do
a. Add P as the last element of keys.
4. For each own property key P of O such that Type(P) is Symbol,
in ascending chronological order of property creation, do
a. Add P as the last element of keys.
5. Return keys.
features: [Proxy, Symbol, Reflect]
includes: [compareArray.js]
--- |
1512 |
- |
| proxy-with-defineProperty-handler.js |
---
esid: sec-object.freeze
description: >
[[DefineOwnProperty]] is called with partial descriptor with only [[Configurable]] and
[[Writable]] (for data properties only) fields present.
info: |
SetIntegrityLevel ( O, level )
[...]
5. Let keys be ? O.[[OwnPropertyKeys]]().
[...]
7. Else,
a. Assert: level is frozen.
b. For each element k of keys, do
i. Let currentDesc be ? O.[[GetOwnProperty]](k).
ii. If currentDesc is not undefined, then
1. If IsAccessorDescriptor(currentDesc) is true, then
a. Let desc be the PropertyDescriptor { [[Configurable]]: false }.
2. Else,
a. Let desc be the PropertyDescriptor { [[Configurable]]: false, [[Writable]]: false }.
3. Perform ? DefinePropertyOrThrow(O, k, desc).
features: [Symbol, Proxy, Reflect]
--- |
1826 |
- |
| throws-when-false.js |
---
esid: sec-object.freeze
description: >
Object.freeze throws if SetIntegrityLevel(O, frozen) returns false.
info: |
Object.freeze ( O )
...
2. Let status be ? SetIntegrityLevel(O, frozen).
3. If status is false, throw a TypeError exception.
SetIntegrityLevel ( O, level )
...
3. Let status be ? O.[[PreventExtensions]]().
4. If status is false, return false.
--- |
660 |
- |
| typedarray-backed-by-resizable-buffer.js |
---
esid: sec-object.freeze
description: >
Object.freeze throws on non-0-length TypedArrays backed by resizable
buffers
features: [resizable-arraybuffer]
includes: [resizableArrayBufferUtils.js]
--- |
2241 |
- |