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.

~TJ
Received on Wednesday, 15 December 2010 15:51:04 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 18:49:42 GMT