15.9.1.15-1.js |
---
esid: sec-date-time-string-format
description: >
Date Time String Format - specified default values will be set for
all optional fields(MM, DD, mm, ss and time zone) when they are
absent
--- |
591 |
browser.js |
|
0 |
coercion-errors.js |
---
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: Abrupt completions from coercing input values
info: |
3. If NewTarget is not undefined, then
a. Let y be ? ToNumber(year).
b. Let m be ? ToNumber(month).
c. If date is supplied, let dt be ? ToNumber(date); else let dt be 1.
d. If hours is supplied, let h be ? ToNumber(hours); else let h be 0.
e. If minutes is supplied, let min be ? ToNumber(minutes); else let min be 0.
f. If seconds is supplied, let s be ? ToNumber(seconds); else let s be 0.
g. If ms is supplied, let milli be ? ToNumber(ms); else let milli be 0.
h. If y is not NaN and 0 ≤ ToInteger(y) ≤ 99, let yr be 1900+ToInteger(y); otherwise,
let yr be y.
i. Let finalDate be MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli)).
j. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%DatePrototype%", « [[DateValue]] »).
k. Set O.[[DateValue]] to TimeClip(UTC(finalDate)).
l. Return O.
--- |
2440 |
coercion-order.js |
---
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: Order of input coercion
info: |
3. If NewTarget is not undefined, then
a. Let y be ? ToNumber(year).
b. Let m be ? ToNumber(month).
c. If date is supplied, let dt be ? ToNumber(date); else let dt be 1.
d. If hours is supplied, let h be ? ToNumber(hours); else let h be 0.
e. If minutes is supplied, let min be ? ToNumber(minutes); else let min be 0.
f. If seconds is supplied, let s be ? ToNumber(seconds); else let s be 0.
g. If ms is supplied, let milli be ? ToNumber(ms); else let milli be 0.
h. If y is not NaN and 0 ≤ ToInteger(y) ≤ 99, let yr be 1900+ToInteger(y); otherwise,
let yr be y.
i. Let finalDate be MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli)).
j. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%DatePrototype%", « [[DateValue]] »).
k. Set O.[[DateValue]] to TimeClip(UTC(finalDate)).
l. Return O.
--- |
1745 |
construct_with_date.js |
---
esid: sec-date-value
description: Date constructor called with Date object
info: |
20.3.2.2 Date ( value )
...
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot, then
i. Let tv be thisTimeValue(value).
es6id: 20.3.2.2
--- |
807 |
is-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
The Date constructor implements [[Construct]]
info: |
IsConstructor ( argument )
The abstract operation IsConstructor takes argument argument (an ECMAScript language value).
It determines if argument is a function object with a [[Construct]] internal method.
It performs the following steps when called:
If Type(argument) is not Object, return false.
If argument has a [[Construct]] internal method, return true.
Return false.
includes: [isConstructor.js]
features: [Reflect.construct]
--- |
831 |
length.js |
---
esid: sec-properties-of-the-date-constructor
description: >
Date.length is 7.
info: |
Properties of the Date Constructor
The Date constructor has a "length" property whose value is 7𝔽.
17 ECMAScript Standard Built-in Objects:
Unless otherwise specified, the "length" property of a built-in function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
729 |
name.js |
---
esid: sec-date-constructor
description: Constructor "name" property descriptor
info: |
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]
--- |
791 |
now |
|
|
parse |
|
|
prop-desc.js |
---
esid: sec-constructor-properties-of-the-global-object-date
description: Property descriptor for Date
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]
--- |
594 |
proto-from-ctor-realm-one.js |
---
esid: sec-date-value
description: Default [[Prototype]] value derived from realm of the newTarget
info: |
[...]
3. If NewTarget is not undefined, then
[...]
c. Let O be ? OrdinaryCreateFromConstructor(NewTarget,
"%DatePrototype%", « [[DateValue]] »).
[...]
9.1.14 GetPrototypeFromConstructor
[...]
3. Let proto be ? Get(constructor, "prototype").
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Let proto be realm's intrinsic object named intrinsicDefaultProto.
[...]
features: [cross-realm, Reflect]
--- |
988 |
proto-from-ctor-realm-two.js |
---
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: Default [[Prototype]] value derived from realm of the newTarget
info: |
[...]
3. If NewTarget is not undefined, then
[...]
j. Let O be ? OrdinaryCreateFromConstructor(NewTarget,
"%DatePrototype%", « [[DateValue]] »).
[...]
9.1.14 GetPrototypeFromConstructor
[...]
3. Let proto be ? Get(constructor, "prototype").
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Let proto be realm's intrinsic object named intrinsicDefaultProto.
[...]
features: [cross-realm, Reflect]
--- |
1029 |
proto-from-ctor-realm-zero.js |
---
esid: sec-date-constructor-date
description: Default [[Prototype]] value derived from realm of the newTarget
info: |
[...]
3. If NewTarget is not undefined, then
a. Let O be ? OrdinaryCreateFromConstructor(NewTarget,
"%DatePrototype%", « [[DateValue]] »).
[...]
9.1.14 GetPrototypeFromConstructor
[...]
3. Let proto be ? Get(constructor, "prototype").
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Let proto be realm's intrinsic object named intrinsicDefaultProto.
[...]
features: [cross-realm, Reflect]
--- |
986 |
prototype |
|
|
S15.9.2.1_A1.js |
---
esid: sec-date-year-month-date-hours-minutes-seconds-ms
info: |
When Date is called as a function rather than as a constructor,
it should be "string" representing the current time (UTC)
es5id: 15.9.2.1_A1
description: Checking type of returned value
--- |
2279 |
S15.9.2.1_A2.js |
---
esid: sec-date-year-month-date-hours-minutes-seconds-ms
info: |
All of the arguments are optional, any arguments supplied are
accepted but are completely ignored. A string is created and returned as
if by the expression (new Date()).toString()
es5id: 15.9.2.1_A2
description: Use various number arguments and various types of ones
--- |
2688 |
S15.9.3.1_A1_T1.js |
---
info: |
When Date is called as part of a new expression it is
a constructor: it initializes the newly created object
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 2 arguments, (year, month)
--- |
6418 |
S15.9.3.1_A1_T2.js |
---
info: |
When Date is called as part of a new expression it is
a constructor: it initializes the newly created object
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 3 arguments, (year, month, date)
--- |
6664 |
S15.9.3.1_A1_T3.js |
---
info: |
When Date is called as part of a new expression it is
a constructor: it initializes the newly created object
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 4 arguments, (year, month, date, hours)
--- |
6974 |
S15.9.3.1_A1_T4.js |
---
info: |
When Date is called as part of a new expression it is
a constructor: it initializes the newly created object
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 5 arguments, (year, month, date, hours, minutes)
--- |
7255 |
S15.9.3.1_A1_T5.js |
---
info: |
When Date is called as part of a new expression it is
a constructor: it initializes the newly created object
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 6 arguments, (year, month, date, hours, minutes, seconds)
--- |
7504 |
S15.9.3.1_A1_T6.js |
---
info: |
When Date is called as part of a new expression it is
a constructor: it initializes the newly created object
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 7 arguments, (year, month, date, hours, minutes, seconds, ms)
--- |
7772 |
S15.9.3.1_A2_T1.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Date prototype object, the one that is the
initial value of Date.prototype
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 2 arguments, (year, month)
--- |
6455 |
S15.9.3.1_A2_T2.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Date prototype object, the one that is the
initial value of Date.prototype
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 3 arguments, (year, month, date)
--- |
6581 |
S15.9.3.1_A2_T3.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Date prototype object, the one that is the
initial value of Date.prototype
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 4 arguments, (year, month, date, hours)
--- |
6708 |
S15.9.3.1_A2_T4.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Date prototype object, the one that is the
initial value of Date.prototype
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 5 arguments, (year, month, date, hours, minutes)
--- |
6837 |
S15.9.3.1_A2_T5.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Date prototype object, the one that is the
initial value of Date.prototype
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 6 arguments, (year, month, date, hours, minutes, seconds)
--- |
6966 |
S15.9.3.1_A2_T6.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Date prototype object, the one that is the
initial value of Date.prototype
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 7 arguments, (year, month, date, hours, minutes, seconds, ms)
--- |
7102 |
S15.9.3.1_A3_T1.1.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: >
Test based on delete prototype.toString - 2 arguments, (year,
month)
--- |
2705 |
S15.9.3.1_A3_T1.2.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: >
Test based on overwriting prototype.toString - 2 arguments, (year,
month)
--- |
1967 |
S15.9.3.1_A3_T2.1.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: >
Test based on delete prototype.toString - 3 arguments, (year,
month, date)
--- |
2791 |
S15.9.3.1_A3_T2.2.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: >
Test based on overwriting prototype.toString - 3 arguments, (year,
month, date)
--- |
2013 |
S15.9.3.1_A3_T3.1.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: >
Test based on delete prototype.toString - 4 arguments, (year,
month, date, hours)
--- |
2878 |
S15.9.3.1_A3_T3.2.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: >
Test based on overwriting prototype.toString - 4 arguments, (year,
month, date, hours)
--- |
2060 |
S15.9.3.1_A3_T4.1.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: >
Test based on delete prototype.toString - 5 arguments, (year,
month, date, hours, minutes)
--- |
2967 |
S15.9.3.1_A3_T4.2.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: >
Test based on overwriting prototype.toString - 5 arguments, (year,
month, date, hours, minutes)
--- |
2109 |
S15.9.3.1_A3_T5.1.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 6 arguments, (year, month, date, hours, minutes, seconds)
--- |
3004 |
S15.9.3.1_A3_T5.2.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: >
Test based on overwriting prototype.toString - 6 arguments, (year,
month, date, hours, minutes, seconds)
--- |
2158 |
S15.9.3.1_A3_T6.1.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 7 arguments, (year, month, date, hours, minutes, seconds, ms)
--- |
3096 |
S15.9.3.1_A3_T6.2.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: >
Test based on overwriting prototype.toString - 7 arguments, (year,
month, date, hours, minutes, seconds, ms)
--- |
2206 |
S15.9.3.1_A4_T0.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
1. Call ToNumber(year)
2. Call ToNumber(month)
3. If date is supplied use ToNumber(date)
4. If hours is supplied use ToNumber(hours)
5. If minutes is supplied use ToNumber(minutes)
6. If seconds is supplied use ToNumber(seconds)
7. If ms is supplied use ToNumber(ms)
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 1 argument (year)
--- |
947 |
S15.9.3.1_A4_T1.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
1. Call ToNumber(year)
2. Call ToNumber(month)
3. If date is supplied use ToNumber(date)
4. If hours is supplied use ToNumber(hours)
5. If minutes is supplied use ToNumber(minutes)
6. If seconds is supplied use ToNumber(seconds)
7. If ms is supplied use ToNumber(ms)
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 2 arguments, (year, month)
--- |
1157 |
S15.9.3.1_A4_T2.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
1. Call ToNumber(year)
2. Call ToNumber(month)
3. If date is supplied use ToNumber(date)
4. If hours is supplied use ToNumber(hours)
5. If minutes is supplied use ToNumber(minutes)
6. If seconds is supplied use ToNumber(seconds)
7. If ms is supplied use ToNumber(ms)
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 3 arguments, (year, month, date)
--- |
1418 |
S15.9.3.1_A4_T3.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
1. Call ToNumber(year)
2. Call ToNumber(month)
3. If date is supplied use ToNumber(date)
4. If hours is supplied use ToNumber(hours)
5. If minutes is supplied use ToNumber(minutes)
6. If seconds is supplied use ToNumber(seconds)
7. If ms is supplied use ToNumber(ms)
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 4 arguments, (year, month, date, hours)
--- |
1734 |
S15.9.3.1_A4_T4.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
1. Call ToNumber(year)
2. Call ToNumber(month)
3. If date is supplied use ToNumber(date)
4. If hours is supplied use ToNumber(hours)
5. If minutes is supplied use ToNumber(minutes)
6. If seconds is supplied use ToNumber(seconds)
7. If ms is supplied use ToNumber(ms)
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 5 arguments, (year, month, date, hours, minutes)
--- |
2106 |
S15.9.3.1_A4_T5.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
1. Call ToNumber(year)
2. Call ToNumber(month)
3. If date is supplied use ToNumber(date)
4. If hours is supplied use ToNumber(hours)
5. If minutes is supplied use ToNumber(minutes)
6. If seconds is supplied use ToNumber(seconds)
7. If ms is supplied use ToNumber(ms)
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 6 arguments, (year, month, date, hours, minutes, seconds)
--- |
2532 |
S15.9.3.1_A4_T6.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
1. Call ToNumber(year)
2. Call ToNumber(month)
3. If date is supplied use ToNumber(date)
4. If hours is supplied use ToNumber(hours)
5. If minutes is supplied use ToNumber(minutes)
6. If seconds is supplied use ToNumber(seconds)
7. If ms is supplied use ToNumber(ms)
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 7 arguments, (year, month, date, hours, minutes, seconds, ms)
--- |
3007 |
S15.9.3.1_A5_T1.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is
1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)
9. Compute MakeDay(Result(8), Result(2), Result(3))
10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))
11. Compute MakeDate(Result(9), Result(10))
12. Set the [[Value]] property of the newly constructed object to
TimeClip(UTC(Result(11)))
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 2 arguments, (year, month)
includes: [assertRelativeDateMs.js]
--- |
1481 |
S15.9.3.1_A5_T2.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is
1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)
9. Compute MakeDay(Result(8), Result(2), Result(3))
10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))
11. Compute MakeDate(Result(9), Result(10))
12. Set the [[Value]] property of the newly constructed object to
TimeClip(UTC(Result(11)))
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 3 arguments, (year, month, date)
includes: [assertRelativeDateMs.js]
--- |
1525 |
S15.9.3.1_A5_T3.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is
1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)
9. Compute MakeDay(Result(8), Result(2), Result(3))
10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))
11. Compute MakeDate(Result(9), Result(10))
12. Set the [[Value]] property of the newly constructed object to
TimeClip(UTC(Result(11)))
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 4 arguments, (year, month, date, hours)
includes: [assertRelativeDateMs.js]
--- |
1571 |
S15.9.3.1_A5_T4.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is
1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)
9. Compute MakeDay(Result(8), Result(2), Result(3))
10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))
11. Compute MakeDate(Result(9), Result(10))
12. Set the [[Value]] property of the newly constructed object to
TimeClip(UTC(Result(11)))
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 5 arguments, (year, month, date, hours, minutes)
includes: [assertRelativeDateMs.js]
--- |
1618 |
S15.9.3.1_A5_T5.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is
1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)
9. Compute MakeDay(Result(8), Result(2), Result(3))
10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))
11. Compute MakeDate(Result(9), Result(10))
12. Set the [[Value]] property of the newly constructed object to
TimeClip(UTC(Result(11)))
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 6 arguments, (year, month, date, hours, minutes, seconds)
includes: [assertRelativeDateMs.js]
--- |
1666 |
S15.9.3.1_A5_T6.js |
---
info: |
The [[Value]] property of the newly constructed object
is set by following steps:
8. If Result(1) is not NaN and 0 <= ToInteger(Result(1)) <= 99, Result(8) is
1900+ToInteger(Result(1)); otherwise, Result(8) is Result(1)
9. Compute MakeDay(Result(8), Result(2), Result(3))
10. Compute MakeTime(Result(4), Result(5), Result(6), Result(7))
11. Compute MakeDate(Result(9), Result(10))
12. Set the [[Value]] property of the newly constructed object to
TimeClip(UTC(Result(11)))
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 7 arguments, (year, month, date, hours, minutes, seconds, ms)
includes: [assertRelativeDateMs.js]
--- |
1711 |
S15.9.3.1_A6_T1.js |
---
info: |
The [[Value]] property of the newly constructed object
with supplied "undefined" argument should be NaN
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 2 arguments, (year, month)
--- |
1675 |
S15.9.3.1_A6_T2.js |
---
info: |
The [[Value]] property of the newly constructed object
with supplied "undefined" argument should be NaN
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 3 arguments, (year, month, date)
--- |
1721 |
S15.9.3.1_A6_T3.js |
---
info: |
The [[Value]] property of the newly constructed object
with supplied "undefined" argument should be NaN
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 4 arguments, (year, month, date, hours)
--- |
1768 |
S15.9.3.1_A6_T4.js |
---
info: |
The [[Value]] property of the newly constructed object
with supplied "undefined" argument should be NaN
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 5 arguments, (year, month, date, hours, minutes)
--- |
1817 |
S15.9.3.1_A6_T5.js |
---
info: |
The [[Value]] property of the newly constructed object
with supplied "undefined" argument should be NaN
esid: sec-date-year-month-date-hours-minutes-seconds-ms
description: 6 arguments, (year, month, date, hours, minutes, seconds)
--- |
1866 |
S15.9.3.2_A1_T1.js |
---
info: |
When Date is called as part of a new expression it is
a constructor: it initialises the newly created object
esid: sec-date-value
description: Checking types of newly created objects and it values
includes: [dateConstants.js]
--- |
4752 |
S15.9.3.2_A2_T1.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Date prototype object, the one that is the
initial value of Date.prototype
esid: sec-date-value
description: Checking Date.prototype property of newly constructed objects
includes: [dateConstants.js]
--- |
4613 |
S15.9.3.2_A3_T1.1.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-value
description: Test based on delete prototype.toString
includes: [dateConstants.js]
--- |
1990 |
S15.9.3.2_A3_T1.2.js |
---
info: |
The [[Class]] property of the newly constructed object
is set to "Date"
esid: sec-date-value
description: Test based on overwriting prototype.toString
includes: [dateConstants.js]
--- |
1465 |
S15.9.4_A1.js |
---
info: The Date constructor has the property "prototype"
esid: sec-date-constructor
description: Checking existence of the property "prototype"
--- |
405 |
S15.9.4_A2.js |
---
info: The Date constructor has the property "parse"
esid: sec-date-constructor
description: Checking existence of the property "parse"
--- |
389 |
S15.9.4_A3.js |
---
info: The Date constructor has the property "UTC"
esid: sec-date-constructor
description: Checking existence of the property "UTC"
--- |
381 |
S15.9.4_A4.js |
---
info: |
The value of the internal [[Prototype]] property of the Date
constructor is the Function prototype object
esid: sec-date-constructor
description: Checking Function.prototype.isPrototypeOf(Date)
--- |
484 |
S15.9.4_A5.js |
---
info: Date constructor has length property whose value is 7
esid: sec-date-constructor
description: Checking Date.length property
--- |
468 |
shell.js |
---
description: |
Verify that the given date object's Number representation describes the
correct number of milliseconds since the Unix epoch relative to the local
time zone (as interpreted at the specified date).
defines: [assertRelativeDateMs]
--- |
2163 |
subclassing.js |
---
esid: sec-date-value
description: Error retrieving `Symbol.toPrimitive` method from object value
info: |
3. If NewTarget is not undefined, then
[...]
c. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%DatePrototype%",
« [[DateValue]] »).
[...]
OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ ,
internalSlotsList ] )
[...]
2. Let proto be ? GetPrototypeFromConstructor(constructor,
intrinsicDefaultProto).
3. Return ObjectCreate(proto, internalSlotsList).
features: [Reflect]
--- |
1508 |
TimeClip_negative_zero.js |
---
esid: sec-timeclip
description: TimeClip converts negative zero to positive zero
info: |
20.3.1.15 TimeClip (time)
...
3. Return ToInteger(time) + (+0). (Adding a positive zero converts -0 to +0.)
es6id: 20.3.1.15
--- |
493 |
UTC |
|
|
value-get-symbol-to-prim-err.js |
---
esid: sec-date-value
description: >
Behavior when error thrown while accessing `Symbol.toPrimitive` property
info: |
[...]
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot,
then
[...]
b. Else,
i. Let v be ? ToPrimitive(value).
ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] )
[...]
4. Let exoticToPrim be GetMethod(input, @@toPrimitive).
5. ReturnIfAbrupt(exoticToPrim).
features: [Symbol.toPrimitive]
--- |
881 |
value-symbol-to-prim-err.js |
---
esid: sec-date-value
description: >
Behavior when error thrown by invocation of `Symbol.toPrimitive` method
during coercion
info: |
[...]
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot,
then
[...]
b. Else,
i. Let v be ? ToPrimitive(value).
ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] )
[...]
4. Let exoticToPrim be GetMethod(input, @@toPrimitive).
5. ReturnIfAbrupt(exoticToPrim).
6. If exoticToPrim is not undefined, then
a. Let result be Call(exoticToPrim, input, «hint»).
b. ReturnIfAbrupt(result).
features: [Symbol.toPrimitive]
--- |
1003 |
value-symbol-to-prim-invocation.js |
---
esid: sec-date-value
description: Invocation of `Symbol.toPrimitive` method
info: |
[...]
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot,
then
[...]
b. Else,
i. Let v be ? ToPrimitive(value).
[...]
ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] )
1. If PreferredType was not passed, let hint be "default".
[...]
4. Let exoticToPrim be GetMethod(input, @@toPrimitive).
5. ReturnIfAbrupt(exoticToPrim).
6. If exoticToPrim is not undefined, then
a. Let result be Call(exoticToPrim, input, «hint»).
[...]
features: [Symbol.toPrimitive]
--- |
1356 |
value-symbol-to-prim-return-obj.js |
---
esid: sec-date-value
description: >
Behavior when coercion via `Symbol.toPrimitive` yields an Object
info: |
[...]
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot,
then
[...]
b. Else,
i. Let v be ? ToPrimitive(value).
ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] )
[...]
4. Let exoticToPrim be GetMethod(input, @@toPrimitive).
5. ReturnIfAbrupt(exoticToPrim).
6. If exoticToPrim is not undefined, then
a. Let result be Call(exoticToPrim, input, «hint»).
b. ReturnIfAbrupt(result).
c. If Type(result) is not Object, return result.
d. Throw a TypeError exception.
features: [Symbol.toPrimitive]
--- |
1240 |
value-symbol-to-prim-return-prim.js |
---
esid: sec-date-value
description: >
Behavior when coercion via `Symbol.toPrimitive` yields a primitive value
info: |
[...]
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot,
then
[...]
b. Else,
i. Let v be ? ToPrimitive(value).
ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] )
[...]
4. Let exoticToPrim be GetMethod(input, @@toPrimitive).
5. ReturnIfAbrupt(exoticToPrim).
6. If exoticToPrim is not undefined, then
a. Let result be Call(exoticToPrim, input, «hint»).
b. ReturnIfAbrupt(result).
c. If Type(result) is not Object, return result.
features: [Symbol.toPrimitive]
--- |
1229 |
value-to-primitive-call-err.js |
---
esid: sec-date-value
description: Error invoking `Symbol.toPrimitive` method of object value
info: |
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot, then
i. Let tv be thisTimeValue(value).
b. Else,
i. Let v be ? ToPrimitive(value).
ToPrimitive ( input [ , PreferredType ] )
[...]
4. Let exoticToPrim be ? GetMethod(input, @@toPrimitive).
features: [Symbol.toPrimitive]
--- |
822 |
value-to-primitive-call.js |
---
esid: sec-date-value
description: Invocation of `Symbol.toPrimitive` method of object value
info: |
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot, then
i. Let tv be thisTimeValue(value).
b. Else,
i. Let v be ? ToPrimitive(value).
[...]
ToPrimitive ( input [ , PreferredType ] )
1. If PreferredType was not passed, let hint be "default".
2. Else if PreferredType is hint String, let hint be "string".
3. Else PreferredType is hint Number, let hint be "number".
4. Let exoticToPrim be ? GetMethod(input, @@toPrimitive).
5. If exoticToPrim is not undefined, then
a. Let result be ? Call(exoticToPrim, input, « hint »).
[...]
features: [Symbol.toPrimitive]
--- |
1429 |
value-to-primitive-get-meth-err.js |
---
esid: sec-date-value
description: Error retrieving `Symbol.toPrimitive` method from object value
info: |
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot, then
i. Let tv be thisTimeValue(value).
b. Else,
i. Let v be ? ToPrimitive(value).
[...]
features: [Symbol.toPrimitive]
--- |
958 |
value-to-primitive-result-faulty.js |
---
esid: sec-date-value
description: Exotic `Symbol.toPrimitive` method returns a non-primitive
info: |
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot, then
i. Let tv be thisTimeValue(value).
b. Else,
i. Let v be ? ToPrimitive(value).
ToPrimitive ( input [ , PreferredType ] )
1. If PreferredType was not passed, let hint be "default".
2. Else if PreferredType is hint String, let hint be "string".
3. Else PreferredType is hint Number, let hint be "number".
4. Let exoticToPrim be ? GetMethod(input, @@toPrimitive).
5. If exoticToPrim is not undefined, then
a. Let result be ? Call(exoticToPrim, input, « hint »).
b. If Type(result) is not Object, return result.
c. Throw a TypeError exception.
features: [Symbol.toPrimitive]
--- |
1524 |
value-to-primitive-result-non-string-prim.js |
---
esid: sec-date-value
description: >
Exotic `Symbol.toPrimitive` method returns a primitive value other than a
string
info: |
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot, then
i. Let tv be thisTimeValue(value).
b. Else,
i. Let v be ? ToPrimitive(value).
ii. If Type(v) is String, then
1. Let tv be the result of parsing v as a date, in exactly the same
manner as for the parse method (20.3.3.2). If the parse resulted
in an abrupt completion, tv is the Completion Record.
ToPrimitive ( input [ , PreferredType ] )
1. If PreferredType was not passed, let hint be "default".
2. Else if PreferredType is hint String, let hint be "string".
3. Else PreferredType is hint Number, let hint be "number".
4. Let exoticToPrim be ? GetMethod(input, @@toPrimitive).
5. If exoticToPrim is not undefined, then
a. Let result be ? Call(exoticToPrim, input, « hint »).
b. If Type(result) is not Object, return result.
features: [Symbol.toPrimitive]
--- |
1950 |
value-to-primitive-result-string.js |
---
esid: sec-date-value
description: Exotic `Symbol.toPrimitive` method returns a String value
info: |
3. If NewTarget is not undefined, then
a. If Type(value) is Object and value has a [[DateValue]] internal slot, then
i. Let tv be thisTimeValue(value).
b. Else,
i. Let v be ? ToPrimitive(value).
ii. If Type(v) is String, then
1. Let tv be the result of parsing v as a date, in exactly the same
manner as for the parse method (20.3.3.2). If the parse resulted
in an abrupt completion, tv is the Completion Record.
ToPrimitive ( input [ , PreferredType ] )
1. If PreferredType was not passed, let hint be "default".
2. Else if PreferredType is hint String, let hint be "string".
3. Else PreferredType is hint Number, let hint be "number".
4. Let exoticToPrim be ? GetMethod(input, @@toPrimitive).
5. If exoticToPrim is not undefined, then
a. Let result be ? Call(exoticToPrim, input, « hint »).
b. If Type(result) is not Object, return result.
features: [Symbol.toPrimitive]
--- |
1444 |
year-zero.js |
---
esid: sec-expanded-years
description: Negative zero, as an extended year, is rejected
info: |
The year 0 is considered positive and must be prefixed with a + sign. The
representation of the year 0 as -000000 is invalid.
--- |
617 |