JSON.stringify(undefined)
は undefined
です。 以上です。
JSON.stringify(undefined) の結果は?
— panda noir (@le_panda_noir) 2022年1月20日
正答率10%。みんな undefined を渡したときの挙動を知らなかったっぽいですね(僕も知りませんでした)
補足
JSON.stringify に undefined を渡した時の挙動は ECMAScript (ECMA-262) の JSON.stringify でちゃんと定義されています。
他の例外パターンとして、循環があると TypeError が起きるようです。
a = []; a[0] = a; my_text = JSON.stringify(a); // throw a TypeError.
また、JSON.stringify(function() {})
も undefined
になります。
さらに補足
JSON.stringify の型をみると string
しか返ってこないことになっています。 2017 年に issue が建てられていますがまだ解決していません。https://github.com/microsoft/TypeScript/issues/18879