W3C home > Mailing lists > Public > public-webapps@w3.org > October to December 2010

Re: [widgets] Storage keys and ECMAScript incompatibility?

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Wed, 15 Dec 2010 07:50:12 -0800
Message-ID: <AANLkTimJ8aM+coRp_aFPHdyxOiFCc+JmSOY6DAKoKvhP@mail.gmail.com>
To: Scott Wilson <scott.bradley.wilson@gmail.com>
Cc: public-webapps WG <public-webapps@w3.org>
On Wed, Dec 15, 2010 at 5:29 AM, Scott Wilson
<scott.bradley.wilson@gmail.com> wrote:
> We've come across an issue with storage keys in Widget preferences; namely
> that the Web Storage spec [1] states that:
> Keys are strings. Any string (including the empty string) is a valid key.
> Values can be any data type supported by the structured clone algorithm.
> However, common guidance on JavaScript states that:
> Variable names must begin with a letter or the underscore character
> ECMAScript[3] follows the Unicode identifier syntax[4], which defines
> variable names as starting with:
> Characters having the Unicode General_Category of uppercase letters (Lu),
> lowercase letters (Ll), titlecase letters (Lt), modifier letters (Lm), other
> letters (Lo), letter numbers (Nl), minus Pattern_Syntax
> and Pattern_White_Space code points, plus stability extensions
> So we get into problems using keys that begin with digits, which are allowed
> as far as I can tell in WebStorage and Widgets, but not in ECMAScript, and
> things like "widgets.preferences.12345="xyz" throw exceptions.

timeless got it.  Only a subset of possible keys can be used in the
dot syntax.  Everything else can be used in the array notation
instead.  This is perfectly fine.

Received on Wednesday, 15 December 2010 15:51:04 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 20 October 2015 13:55:38 UTC