She*_*618 96 javascript object immutability mutability momentjs
我遇到了一个问题,我必须存储一个时刻对象的初始值,但是我遇到了一些问题,我阻止了我的变量与原始对象一起变化.
不幸的是,Object.freeze()不起作用,因为当我尝试格式化时,moment.js返回"无效日期"错误.
raz*_*ard 158
在NPM上有一个叫做冻结时刻的Moment.js插件- 你可以moment().freeze()代替使用它Object.freeze(moment()).
否则,vanilla Moment.js有一个clone方法可以帮助你避免可变性问题,所以你可以这样做:
var a = moment(),
b = a.clone(); // or moment(a)
Run Code Online (Sandbox Code Playgroud)
更新:
我写这个答案已经两年了.在这个时候,另一个处理日期的图书馆浮出水面并获得了很大的吸引力:https://date-fns.org/
这个库默认是不可变的,遵循模块化的功能架构,这意味着它更适合树摇动和客户端捆绑.如果你正在开发一个在客户端广泛使用Webpack的项目,并且发现Moment.js给你的构建带来麻烦,或者即使Moment.js的可变性让你很头疼,那么你应该date-fns试一试.
| 归档时间: |
|
| 查看次数: |
32216 次 |
| 最近记录: |