W3C home > Mailing lists > Public > public-script-coord@w3.org > October to December 2011

Re: Type restriction of elements in Array

From: Alex Russell <slightlyoff@google.com>
Date: Mon, 17 Oct 2011 12:29:50 +0100
Message-ID: <CANr5HFV_9uUpz+yhbT_nVvn4oxnbb-1H6785sZb80SQyfh2H-A@mail.gmail.com>
To: kisubs.song@samsung.com
Cc: public-script-coord@w3.org
Speaking only for myself (although I am a member of TC39), as JS doesn't
allow this sort of restriction (without proxies, anyway), it's simply
non-sensical to enforce the behavior you're talking about in the generated
JS bindings. APIs that use/consume these array types should be what throw
errors.

Regards

On Tue, Oct 11, 2011 at 7:17 AM, Kisub Song <kisubs.song@samsung.com> wrote:

>  ECMAScript does not restricts the types of elements in arrays, in other
> words, any type value can be an element of native ECMAScript array.
>
> On the other hand, WebIDL allow to define arrays of specific data type.
>
> Even though the original ECMAScript does not support the type restriction
> of array, I can implement arrays that allow values of specific type as their
> elements. in case of platform array object.
>
>
>
> What I am wondering is that allowing only specific type value for an
> array is right policy or not.
>
> If it is right policy, what should happen if user try to assign wrong type
> value to an array?
>
>
>
> i.e.)
>
> <WebIDL>
>
> [NoInterfaceObject] interface TypeA {
>
>     attribute ...
>
> }
>
> [NoInterfaceObject] interface TypeB {
>
>     attribute ...
>
> }
>
> typedef TypeA[] TypeAArray;
>
>
>
> <ECMAScript>
>
> var as = getTypeAArray(); // returns array of TypeA.
>
> var b = getTypeB(); // returns value of TypeB.
>
>
>
> as[0] = b; // What should happen in this situation?
>
>            // exception? or silently ignoring?
>
>
>
Received on Monday, 17 October 2011 11:30:45 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 8 May 2013 19:30:04 UTC