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

[widgets] Storage keys and ECMAScript incompatibility?

From: Scott Wilson <scott.bradley.wilson@gmail.com>
Date: Wed, 15 Dec 2010 13:29:07 +0000
Message-Id: <7DEF3B69-CE76-4BE1-8D48-AB32B3430004@gmail.com>
To: public-webapps WG <public-webapps@w3.org>
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.

[1] http://www.w3.org/TR/webstorage/
[2] http://www.w3schools.com/js/js_variables.asp
[3] http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf
[4] http://unicode.org/reports/tr31/


Received on Wednesday, 15 December 2010 13:31:15 GMT

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