js中将对象转换为字符串,需要使用JSON.stringify,将json格式的字符串转换为对象时,需要使用JSON.parse。这是我们常用的方法。
但是它其实有很多巧妙的用法:
1.比如一个对象中属性都是getter、setter类型,不是简单的对象时,你就可以先用JSON.stringify将该对象转换为json字符串,然后再使用JSON.parse转换为对象。现在你得到的对象就是简单的对象形式了。
2.再比如你有个复杂的对象,你想要复制到另外一处,然后对该复制对象进行操作。因为js对象数据是引用数据类型。如果只是简单的使用“=”简单的复制对象,会修改掉原来的对象(因为他们真是保存的数据是一个地址,两个变量都指向都一个地址)。
所以如果想要真实拷贝一份对象数据,而且不能印象原来对象,则可以将原对象进行JSON.stringify操作,将该对象转换为json字符串,然后再定义一个对象,使用JSON.parse转换该json字符串为对象。这样你新得到的对象就是一份和原对象无关联的对象了,可以任意使用而不会影响原对象了。
以上是我经常用到的场景,如果还有其他场景,欢迎大家来分享!