- From: Anne van Kesteren <notifications@github.com>
- Date: Wed, 25 Mar 2020 01:03:14 -0700
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <heycam/webidl/pull/859/review/380919458@github.com>
@annevk approved this pull request. I think this looks okay, but @EdgarChen / @TimothyGu should probably do a final check. > -<dfn id="dfn-present" export lt="present|not present" for="dictionary member">present</dfn> -in a dictionary value if the value [=map/exists|contains an entry with the key=] -given by the member's [=identifier=], otherwise it is [=not present=]. -Dictionary members can also optionally have a <dfn id="dfn-dictionary-member-default-value" for="dictionary member" export>default value</dfn>, which is -the value to use for the dictionary member when passing a value to a -[=platform object=] that does -not have a specified value. Dictionary members with default values are -always considered to be present. +[=Dictionary members=] can be specified as +<dfn id="required-dictionary-member" export for="dictionary member">required</dfn>, meaning that +converting a language-specific value to a dictionary requires providing a value for that member. +They can also be specified as having a +<dfn id="dfn-dictionary-member-default-value" for="dictionary member" export>default value</dfn>, +which is the value used by default when author code or specification text does not provide a value +for that member. Note that [=dictionary member/required=] dictionary members only have meaning for +dictionaries used as operation arguments; members should be left optional if a dictionary is only This is new, right? Why is this a should and are implementers on board with enforcing this so we can ensure it doesn't end up in specifications? > <p class="note"> - In the ECMAScript binding, a value of <emu-val>undefined</emu-val> is treated as - [=not present=], or will trigger the [=dictionary member/default value=] where applicable. + In the ECMAScript binding, a value of <emu-val>undefined</emu-val> for the property + corresponding to a [=dictionary member=] is treated the same as omitting that property. Thus, it + will cause an error if the member is [=dictionary member/required=], or will trigger the + [=dictionary member/default value=] if one is present, or will result in no [=map/entry=] + existing in the dictionary value otherwise. +</p> + +<p class="advisement"> + As with [=optional argument/default value|operation argument default values=], it is strongly + suggested not to use <emu-val>true</emu-val> as the [=dictionary member/default value=] for ```suggestion encouraged not to use <emu-val>true</emu-val> as the [=dictionary member/default value=] for ``` -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/heycam/webidl/pull/859#pullrequestreview-380919458
Received on Wednesday, 25 March 2020 08:04:35 UTC