###前提・実現したいこと
Moment.jsの使い方を勉強中です。
aという変数にMomentオブジェクトを作成し、
aをbという変数に値渡しでMomentオブジェクトをコピーしたい。
下記の試したこと(1)(2)を行ってみましたが、
(1)が何故出来ないのか、
(2)はやり方として正しいのか、また他のコピー方法は無いのか
をご教授頂きたいです。
###検証用のソースコード
javascript
1var $ = require('jquery'); 2var moment = require('moment'); 3 4// 元になるaのMomentオブジェクトを作成 5a = moment('2016-06-04T09:00:00+0900'); 6 7console.log('BEFORE:(a)->' + a.format('YYYY-MM-DD HH:mm')); 8// -> BEFORE:(a)->2016-06-04 09:00 9 10※ここでbにaのMomentオブジェクトを値渡しでコピーしたい 11 12// bを15分加算 13b.add(15, 'minutes'); 14 15console.log('AFTER :(a)->' + a.format('YYYY-MM-DD HH:mm')); 16// -> AFTER :(a)->2016-06-04 09:00 17console.log('AFTER :(b)->' + b.format('YYYY-MM-DD HH:mm')); 18// -> AFTER :(b)->2016-06-04 09:15 19// bのみ15分加算される結果が欲しい
###試したこと
(1) jQueryでオブジェクトのコピーが出来る"extend"があると聞いたので試す
javascript
1b = $.extend(true, {}, a);
Momentオブジェクトだから行けると思ったが、aとb共に15分加算されてしまった。
原因が良く分からない?
(2) aをmoment()で作り直してbを作成する
javascript
1b = moment(a);
コピーでは無いと思うが、一応実現したいことは出来た。
しかし、これ以外に方法ってないのか?
###補足情報
jquery: 2.2.4
moment: 2.13.0
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/06/04 09:54