17
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

javaScriptのMapとJSONで事故りそうになる話。

Posted at

はじめに

chromeの開発者コンソールで実行しました。


皆さんご存知ですか?javaScriptのMap。

知ってる知ってる!これでしょ?

var obj = { 'hoge': 'hogehoge' };
違います。

こっちがMapです。

var map = new Map();
map.set('hoge','hogehoge');

MDN web doc で言えばこれを指します。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Map

と、ここまではいいのです。

MapをJSONにしたい!

JSON.stringify()を使えばええやん。
楽勝楽勝・・・
image.png

なんですと!?

それでも解決策は見つかる。そう、Googleならね。

es6のMapをJSONに変換 - ゆずめも
http://yuzu441.hateblo.jp/entry/2015/10/26/221010

偉大な先人はいるものです。どうやら、[...map]とすればいいらしい。やってみよう。
image.png

解決できたし終わり!っとする前に。

この表記でできる意味がわからなかったのでもっと調べます。

...とはなんぞや?

スプレッド構文と呼ばれるものです。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Spread_syntax

[...map]とはなんぞや?

arrayです。
具体的にはこんな感じの配列になります。
image.png

つまり、map→array→jsonと変換されるわけですな。
なるほどなるほど?

17
12
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?