Re: [widgets] Storage keys and ECMAScript incompatibility?

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 UTC