你真的了解JSON.stringify吗?

公众号:程序员白特,欢迎一起交流学习~

大家对于JSON.stringify这个方法应该都非常熟悉了,通常用于将对象或数组转换为字符串,即JSON格式,然后将其作为参数传递给后端接口。

你对JSON.stringify真的很熟悉吗?除了基本用法,你知道它还有其他6种用法吗?让我们一起深入了解吧~.

1、第二个参数传数组Array

JSON.stringify的第二个参数传入数组时,只会转换数组中的key,例如在下面的例子中,只会转换name属性。

2、第三个参数传数字Number

当使用JSON.stringify的第三个参数传递一个数字时,该数字将被视为JSON的缩进级别。例如,下面的示例分别使用2个空格、4个空格和6个空格进行缩进。

3、第三个参数传字符串String

当将JSON.stringify的第三个参数传递为一个字符串时,该字符串将被视为JSON的缩进占位符。

4、toJSON

若被转换的对象中存在toJSON方法,则在执行JSON.stringify转换后,将获得该toJSON方法的返回值。

5、JSON.stringify 局限性

许多人会尝试使用JSON.stringify进行深拷贝,但这种方法存在局限性,因此并不可取。

举例子:

  • undefined、function、symbol 在转换后直接被忽略了
  • 正则表达式转换成对象,日期转换成字符串
  • NaN、Infinity 直接变成 null

因此,请不要使用JSON.stringify来进行深拷贝!这样无法获得满意的结果!

6、环引用报错

当执行此方法时,对于包含循环引用的对象(即对象之间相互引用,形成无限循环),将会抛出错误。以前的旧版浏览器和Node.js会直接报错,但是现在的新版已经不会再报错了。

#前端##牛客解忧铺##牛客在线求职答疑中心##我的实习求职记录##实习,投递多份简历没人回复怎么办#
全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务