時間の差 - javascript 2014/01/18

javascriptです。
javascriptもいろいろあってむずかしいなと。
ここから以下の情報はまちがってる可能性ある....


単純に時間の差を求めたいのですが

たとえば

                var date1 = new Date(2013, 1, 1);
                var date2 = new Date(2013, 1, 2);

とあって、

var diff1 = date2.getTime() - date1.getTime();

これかなと思ってたのですが、

var diff2 = date2 - date1;

 こういうふうにも書けるみたい。
演算子がそのまま使える?

ためしたのはosxのsafari上だけど、jquery使ってたからごにょごにょしてくるのかしらと思ったけど、jqueryなしでもどうも計算してくれているっぽい。(※jqueryが何してくれてるのか理解してないので(笑))

で,"+"だと、toStringの値を計算したので、"-"演算子だけなんか時間の差をもとめてくれる感じ。

これは、どんなブラウザでもそうのかしら?
osxでのfirefoxでも同じ動きしたけど。
 
 確証ないと、単純にdateオブジェクトの引き算使うのこわいな-

で、


JavaScript 第6版
David Flanagan 村上 列
4873115736

なんか調べてみると、Date型は、やはり演算子によって、扱う型を暗黙的に変換してるよう。
-演算子はオペランドを数値に変換します。

とあった。

これはjavascriptのバージョンによって取り入れられたものなのか、初期の頃からそうなのか気になるところ。
昔(初期の版)からそうなら、マイナス演算子使うときわざわざgetTime()を書く必要なくて、面倒な書き方がでまわってたのかなと。

 結論として
時間の差をもとめる場合は、getTimeを使わなくてよい
でOK?

: