diff --git a/index.bs b/index.bs index 3f5bbb9a..890bd65a 100644 --- a/index.bs +++ b/index.bs @@ -4102,13 +4102,18 @@ to the dictionary members defined on |D| and on any of |D|’s On a given dictionary value, the presence of each dictionary member is optional, unless that member is specified as required. When specified in the dictionary value, a dictionary member is said to be -present, otherwise it is [=present|not present=]. +present, otherwise it is [=not present=]. Dictionary members can also optionally have a default value, 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. +

+ In the ECMAScript binding, a value of undefined is treated as + [=not present=], or will trigger the [=dictionary member/default value=] where applicable. +

+ An [=ordered map=] with string [=map/keys=] can be implicitly treated as a dictionary value of a specific dictionary |D| if all of its [=map/entries=] correspond to [=dictionary members=], in the correct order and with the correct types, and with appropriate [=map/entries=] for any required @@ -7127,7 +7132,7 @@ the object (or its prototype chain) correspond to [=dictionary members=]. 1. If [=Type=](|V|) is not Undefined, Null or Object, then [=ECMAScript/throw=] a TypeError. 1. Let |dict| be an empty dictionary value of type |D|; every [=dictionary member=] - is initially considered to be [=present|not present=]. + is initially considered to be [=not present=]. 1. Let |dictionaries| be a list consisting of |D| and all of |D|’s [=inherited dictionaries=], in order from least to most derived. 1. For each dictionary |dictionary| in |dictionaries|, in order: