关于JSON.parse解析的笔记,参数为数字,数组等

先看一个图

 

本来以为JSON.parse只能接收字符串作为参数,实际上却不一定。

再看MDN上对于这个方法的描述

 

 

 翻译下

 

 

 

貌似的确是要求为字符串,但是构造字符串描述的javaScript值或对象这句话说明还可以解析javaScript值,那么真相是?

 

推测JSON.parse会对入参做类型转换,如果是javascript的基本数据类型number,string,boolean或者Array,会自动调用toString方法转成字符串再解析。

因此JSON.parse(10),分为2步,首先会做类型转换,调用toSting()方法转成 ‘10’,再解析为JavaScript值数值10。其他以此类推。

null没有toString方法,是特别的。

 

posted @ 2021-10-13 11:47  疯魔掉书袋  阅读(1161)  评论(0编辑  收藏  举报