是一个用于序列化对象的方法
接受三个参数:(value,replacer,space)
第一个参数:value表示要被序列化的对象(接受对象或数组类型)
第二个参数:replacer表示对象中要序列化的属性(接受数组和函数类型)
第三个参数:space用于描述序列化后的缩进字符数,用于美化格式
面试(应用场景):
场景一:localStorage存储
loaclStorage只能存储字符串的存储类型 是键值对的格式
例:const obj={a:'1',b:'2'}
('key',obj)
('key') //'[object Object]' 存储失败
解决:使用()
('key',(obj))
('key') //'{"a":"1","b":"2"}'存储成功
(('key')) //{a:'1',b:'2'}再利用()提取出来
场景二:对象的深拷贝
例:let arr={a:'1',b:'2'}
let arr2=arr
='111'
()//'111'
解决:利用和给对象做深拷贝
let arr3=((arr))
='2222'
()//'2'
场景三:删除对象属性
方法1:delete方法删除
let obj={a:'1',b:'2'}
delete
log(obj)//{b:'2'}
方法2:利用()的第二个参数进行删除
let obj = { a: "1", b: "2" };
let obj1 = (
(obj, (key, value) => {
if (key === "b") {
return undefined;
} else {
return value;
}
})
);
(obj1); //{a:'1'}
或:
let obj = { a: "1", b: "2" };
let obj1 = (
(obj,['b'])
);
(obj1); //{a:'1'}