[whatwg] question about Web Storage setItem()'s behavior

Thanks, Ian.

>> > --when value is null, should `setItem("key", null)` behave as like as
>> > `removeItem("key")`? (localStorage.setItem("key", null);
>> > alert(localStorage.length); <-- what is value displayed?)
>>
>> No, it's not the same as removeItem.  It'll be set to 'null'.
>
> This changed recently; it'll now actually store the null value.

OK, I see.

and, when passed value is undefined (e.g. `setItem("key")`), which
behavior will be correct?
On current implementation of browsers, I looked as follows.
- IE and Firefox raise error, (arguments number is incorrect)
- Webkit family persist it as string ("undefined")


On Wed, Aug 12, 2009 at 4:10 PM, Ian Hickson<ian at hixie.ch> wrote:
> On Sun, 2 Aug 2009, Jeremy Orlow wrote:
>> On Sun, Aug 2, 2009 at 7:17 PM, ???? <shumpei.shiraishi at gmail.com> wrote:
>> >
>> > I'm implementing the HTML5 Web Storage using Gears
>> > (http://code.google.com/p/gear5/), so I have several questions with
>> > the spec.
>> >
>> > -Storage.setItem(key, val)
>> > --is key allowed non-string type object?
>>
>> Yes, but...
>>
>> --and when pass non-string object to key/value, is it automatically
>> > converted to string?(I'm considering to convert to use String
>> > constructor - String(key) )
>>
>> Yes.
>
> Correct.
>
>
>> > --when value is null, should `setItem("key", null)` behave as like as
>> > `removeItem("key")`? (localStorage.setItem("key", null);
>> > alert(localStorage.length); <-- what is value displayed?)
>>
>> No, it's not the same as removeItem. ?It'll be set to 'null'.
>
> This changed recently; it'll now actually store the null value.
>
> --
> Ian Hickson ? ? ? ? ? ? ? U+1047E ? ? ? ? ? ? ? ?)\._.,--....,'``. ? ?fL
> http://ln.hixie.ch/ ? ? ? U+263A ? ? ? ? ? ? ? ?/, ? _.. \ ? _\ ?;`._ ,.
> Things that are impossible just take longer. ? `._.-(,_..'--(,_..'`-.;.'

Received on Wednesday, 12 August 2009 01:28:35 UTC