MDN中对于toJSON()方法的描述,有一个地方不是很明白:
Date 实例引用一个具体的时间点。 调用 toJSON() 返回一个 JSON 格式字符串(使用 toISOString()),表示该日期对象的值。默认情况下,这个方法常用于JSON序列化Date对象。
infoQ 中对于序列化的解释:
序列化: 将数据结构或对象转换成二进制串的过程。
toJSON()是用来将Date对象转换成指定格式的字符串形式,而加粗部分却说“常用于JSON序列化Date对象”,这里的序列化应该不是将对象转换成二进制串吧?
问题来啦:
这里的序列化是什么意思?
阿神2017-04-11 11:42:07
from wiki:
In computer science, in the context of data storage, serialization is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer, or transmitted across a network connection link) and reconstructed later in the same or another computer environment.
简单说,序列化就是把一个数据结构转换成一个可以被存储的格式(且能从该存储格式被恢复)的过程。
infoQ只是一篇文章,只能代表作者自己的意思,不要拿出来当字典用。
PHP中文网2017-04-11 11:42:07
var obj = {
a: 1,
b: 2
}
序列化后:"{"a":1,"b":2}",序列化就是转为字符串,因为参数不能使对象。
var date = new Date()
console.log(date, typeof date)
console.log(date.toISOString(), typeof date.toISOString())
console.log(date.toJSON(), typeof date.toJSON())