Dart nous propose de le laisser choisir le type de classe qui encapsulera nos données sous forme de clé/valeur.
Seulement, par souci d'optimisation, on privilégiera l'utilisation d'une classe en particulier pour alléger l'allocation mémoire.
Correction:
Le type par défaut des Maps (en Dart) est LinkedHashMap. Inutile de préciser la classe lors de la création d'une map, si vous souhaitiez utiliser cette classe à la base.
Pour la création d'une map sans précisions particulière, c'est assez simple:
void main()
{
var myMap = {
"username":"Songbird",
"age":"69 years old"
};
print(myMap);
}
Résultat:
{username: Songbird, age: 69 years old}
Pour allouer seulement la mémoire dont nous avons besoin, il est néanmoins préférable d'utiliser la classe LinkedHashMap - la map n'étant agrandi que si un nouveau nœud est créé.
Voici comment vous pouvez procéder:
import 'dart:collection';
void main()
{
LinkedHashMap test = {
"username":"Songbird",
"age":"69 years old"
};
print(test);
}
Ou en précisant le type de données:
import 'dart:collection';
void main()
{
LinkedHashMap test = <String,String>{
"username":"Songbird",
"age":"69 years old"
};
print(test);
}
C'est ce qui donne en JS ceci ?
<script type="text/javascript"><!-- // --><![CDATA[
var ouistiti = "ouistitilette";
var big_body = "grenouillette";
// ]]></script>
J'vas être obligé d'installer Dart Simpson, on a jamais le JS final. :iq:
Nop, en JS ça donne ça:
<script>
var myMap = {
username:"Songbird"
};
window.alert(myMap.username);
</script>
En gros les objets en Javascript sont de simples HashMap ^^ (si on ne parle pas des instances de prototypes évidemment)
Mise à jour:
Titre du post traduit en français.