JSON.stringify(NaN)
"null"
JSON.stringify([NaN])
"[null]"
JSON.stringify(undefined)
undefined
JSON.stringify(null)
"null"
JSON.stringify([undefined])
"[null]"
求解释原理
JSON.stringify(NaN)
"null"
JSON.stringify([NaN])
"[null]"
JSON.stringify(undefined)
undefined
JSON.stringify(null)
"null"
JSON.stringify([undefined])
"[null]"
求解释原理
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
3 回答829 阅读✓ 已解决
从ecma-262 规范文档 的角度解释标题的问题就非常简单。
直接看为什么
JSON.stringify(NaN) => "null"
NaN 会被 当成字符串 null
为什么
JSON.stringify(undefined) => undefined
JSON.stringify([undefined]) => "[null]"
undefined 直接返回 undefined ; 在数组中,就被当成 字符串null;