我们知道的序列化会导致方法丢失,那是有其他的影响呢?通过下面简单的例子一起看一下
class Custom{
constructor(){
this.custom1 = 1
}
customFn(){
console.log('hello, my name is custom')
}
}
let custom = new Custom();
let obj = {
a: 'a',
b: function() {
console.log('b')
},
c: undefined,
d: null,
e: custom,
f: Custom,
g: [custom, undefined, 123, Custom, function() {
console.log('b')
}],
h: {
custom, undefined, "123": 123, Custom, function() {
console.log('b')
}
}
}
console.log(JSON.stringify(obj))
// {
// "a": "a",
// "d": null,
// "e": {
// "custom1": 1
// },
// "g": [
// {
// "custom1": 1
// },
// null,
// 123,
// null,
// null
// ],
// "h": {
// "123": 123,
// "custom": {
// "custom1": 1
// }
// }
// }
由此可见 对象序列化时,方法、undefined、类都消失了,数组中他们相应的位置也皆为null了