Skip to content

Definition of {} is slightly ambiguous #1344

Open
@jyasskin

Description

@jyasskin

We have "If the argument at index i is declared with a default value, then append to values that default value." in https://webidl.spec.whatwg.org/#dfn-overload-resolution-algorithm. When the default value is {}, the only meaning I can find is in https://webidl.spec.whatwg.org/#dfn-optional-argument-default-value

Optional argument default values can also be specified using the two token value {}, which represents a default-initialized (as if from ES null or an object with no properties) dictionary value.

Conversion from ES null is fully defined by https://webidl.spec.whatwg.org/#es-to-dictionary, but an "object with no properties"--if that means what you get by typing {} in ECMAScript--can be modified by changing Object.prototype. We should ensure this is specified so that Object.prototype doesn't affect it. A simple way to do that might be to remove "or an object with no properties" from the parenthetical, but it might be better to actually spell it out.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions