历史搜索

你是否知道 JSON.stringify 的作用意义?

游客2024-09-18 12:03:01
目录文章目录
  1. 场景一:localStorage 的存储
  2. 场景二:对象的深拷贝
  3. 场景三:删除对象属性

当面试被问到你是否知道 JSON.stringify 的作用意义,我们该如何回答。查阅网上的八股文答案大概教你这样回答:

JSON.stringify(value,replacer,space)

它是一个用于序列化对象的方法,接受三个参数,第一个参数是要被序列化的对象,接受对象或数组类型。第二个参数用于标记需要序列化的属性,接受数组和函数类型。第三个参数用于描述序列化后的缩进字符数,用于美化格式。

当然以上的回答也没有错,不过面试官考察的更多是大家的实际应用能力以及实战场景,如果只回答八股文的内容,更多的只能体现大家的背诵能力而已,所以接下来我将给大家呈现 JSON.stringify 的实际应用场景。

场景一:localStorage 的存储

前端 localStorage 中只能接受字符串的存储类型,而且它是一个 KV 的结构,我们尝试模拟存储一个对象这种场景:

你是否知道 JSON.stringify 的作用意义? 1

第二个参数接受一个方法,方法接受两个参数,一个是 key,一个是 value,我们可以在里面写逻辑,如果 key===’b’,这时候我们返回 undefine,否则的话我们把 value 返回,这时候我们就可以得到一个没有 b 属性的一个序列化的字符串,我们再把这个字符串给 JSON.parse 回来,就可以得到消除 b 之后的一个对象,这也是 JSON.stringify 的一个巧妙应用。

标签:JSON.parse()