为何JSON.parse(null)会返回null?是否有规范依据?
JSON.parse(null) 返回 null 的原因及规范依据
- 参数的隐式类型转换规则:ECMAScript规范明确要求,JSON.parse的第一个参数会被自动转换为字符串。当传入
null时,null转换为字符串的结果是"null",所以实际执行的是JSON.parse("null")。 - JSON语法对null值的定义:在JSON规范中,
null是合法的原始值类型之一,和字符串、数字、布尔值属于同一层级的合法JSON值。因此解析"null"时,会直接返回对应的null值。
你提到的JSON.parse("null")返回null,和JSON.parse(null)本质是同一个逻辑——后者只是多了一步null到字符串的隐式转换,最终解析的都是符合规范的JSON null值。
内容的提问来源于stack exchange,提问作者Tristan F.-R.
相关产品推荐
相关产品推荐

