Storage class Null safety

The type used by the Window.localStorage and Window.sessionStorage properties. Storage is implemented as a Map<String, String>.

To store and get values, use Dart's built-in map syntax:

window.localStorage['key1'] = 'val1';
window.localStorage['key2'] = 'val2';
window.localStorage['key3'] = 'val3';
assert(window.localStorage['key3'] == 'val3');

You can use Map APIs such as containsValue(), clear(), and length:

assert(window.localStorage.containsValue('does not exist') == false);
window.localStorage.clear();
assert(window.localStorage.length == 0);
Mixed in types
Annotations
  • @Unstable()
  • @Native("Storage")

Properties

entries → Iterable<MapEntry<String, String>>
The map entries of this.
read-onlyinherited
hashCode → int
The hash code for this object.
read-onlyinherited
isEmpty → bool
Whether there is no key/value pair in the map.
read-onlyoverride
isNotEmpty → bool
Whether there is at least one key/value pair in the map.
read-onlyoverride
keys → Iterable<String>
The keys of this.
read-onlyoverride
length → int
The number of key/value pairs in the map.
read-onlyoverride
runtimeType → Type
A representation of the runtime type of the object.
read-onlyinherited
values → Iterable<String>
The values of this.
read-onlyoverride

Methods

addAll(Map<String, String> other) → void
Adds all key/value pairs of other to this map.
override
addEntries(Iterable<MapEntry<String, String>> newEntries) → void
Adds all key/value pairs of newEntries to this map.
inherited
cast<RK, RV>() → Map<RK, RV>
Provides a view of this map as having RK keys and RV instances, if necessary.
inherited
clear() → void
Removes all entries from the map.
override
containsKey(Object? key) → bool
Whether this map contains the given key.
override
containsValue(Object? value) → bool
Whether this map contains the given value.
override
forEach(void f(String key, String value)) → void
Applies action to each key/value pair of the map.
override
map<K2, V2>(MapEntry<K2, V2> transform(String key, String value)) → Map<K2, V2>
Returns a new map where all entries of this map are transformed by the given convert function.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
inherited
putIfAbsent(String key, String ifAbsent()) → String
Look up the value of key, or add a new entry if it isn't there.
override
remove(Object? key) → String?
Removes key and its associated value, if present, from the map.
override
removeWhere(bool test(String key, String value)) → void
Removes all entries of this map that satisfy the given test.
inherited
toString() → String
A string representation of this object.
inherited
update(String key, String update(String value), {String ifAbsent()?}) → String
Updates the value for the provided key.
inherited
updateAll(String update(String key, String value)) → void
Updates all values.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited
operator [](Object? key) → String?
The value for the given key, or null if key is not in the map.
override
operator []=(String key, String value) → void
Associates the key with the given value.
override