File tree Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -11131,13 +11131,25 @@ and is described in more detail in [[#interface-prototype-object]].
11131
11131
Note: Since an [=interface object=] is a [=function object=]
11132
11132
the <code>typeof</code> operator will return "function" when applied to an interface object.
11133
11133
11134
+ An interface may have <dfn export>overridden constructor steps</dfn>, which can
11135
+ change the behavior of the [=interface object=] when called or constructed. By
11136
+ default interfaces do not have such steps.
11137
+
11138
+ <p class="advisement">
11139
+ In general, constructors are described by defining a [=constructor operation=] and its behavior.
11140
+ The [=overridden constructor steps=] are used only for more complicated situations.
11141
+ Editors who wish to use this feature are strongly advised to discuss this by
11142
+ <a href="https://github.com/heycam/webidl/issues/new?title=Intent%20to%20use%20constructor%20steps">filing an issue</a> before proceeding.
11143
+ </p>
11144
+
11134
11145
<div algorithm>
11135
11146
11136
11147
The [=interface object=] for a given [=interface=] |I|
11137
11148
with [=identifier=] |id| and in [=Realm=] |realm|
11138
11149
is <dfn lt="create an interface object">created</dfn> as follows:
11139
11150
11140
- 1. Let |steps| be the following steps:
11151
+ 1. Let |steps| be |I|'s [=overriden constructor steps=] if they exist, or
11152
+ the following steps otherwise:
11141
11153
1. If |I| was not declared with a [=constructor operation=],
11142
11154
then [=ECMAScript/throw=] a {{ECMAScript/TypeError}}.
11143
11155
1. If {{NewTarget}} is <emu-val>undefined</emu-val>, then
You can’t perform that action at this time.
0 commit comments