JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (767レス)
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1449440793/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
291: デフォルトの名無しさん [sage] 2016/07/17(日) 18:50:05.41 ID:UzC9Qtsn ああ、引き算を確認するの忘れてた。 - は ToNumber(GetValue(target)) を引いて差を返す (11.6.2) ToNumber(String) は 9.3.1 に従いパースする (9.3) 9.3.1内にはDate.toString()出力をパースする仕様はない。 だからGetValue(time values)はNumberを返さないと引き算は出来ない。 となると足し算も出来ないと仕様外のように思える。 なお確認している仕様はECMA5.1 http://www.ecma-international.org/ecma-262/5.1/#sec-11.6.1 http://mevius.5ch.net/test/read.cgi/tech/1449440793/291
293: デフォルトの名無しさん [sage] 2016/07/17(日) 18:55:32.09 ID:PyzTEoPA >>291 だから仕様通り(笑) http://mevius.5ch.net/test/read.cgi/tech/1449440793/293
304: デフォルトの名無しさん [sage] 2016/07/18(月) 00:12:28.04 ID:CK8ZYmxh >>302 Note1だろ? > Date objects handle the absence of a hint as if the hint String were given. 辿ってみたが、なるほど[[DefaultValue]](8.12.8)の所でデフォがDateに関してはStringというのは分かった。 そしてValueOf()が返してくるのはこれだから、Add側がString連結になっているのはこれでいい。 ただこれだとsub側が都合が悪い。つまり、もう一度書くと、以下になっているわけだが、 > - は ToNumber(GetValue(target)) を引いて差を返す (11.6.2) (>>291) GetValue(target)がデフォでStringを返してくるのでデフォのままでは引き算は出来ない。 一応GetValueにはPreferredTypeを指定することが出来て、 Numberを指定していれば数値が返ってくる。 だから仕様としてsubを定義する為には、subの時はNumber指定しないといけない。 で、それはどこに書いてあるんだ? なおお前が大好きなmoment.jsも確認したが、同様に直ではなく、こちらはvalueOfを使っていた。 > mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); > http://momentjs.com/downloads/moment.js つってもMDNには同じだと明記されているが。 > This method is functionally equivalent to the Date.prototype.getTime() method. > https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf いずれにしても、何かしら理由があったんだと思うが。 とりあえず5.1で確認出来たらその記載が旧仕様にあるかどうかを確認すればいい。 つかこの際英語は関係ないだろ。そういうのもコンプレックス出まくりだから止めたほうがいい。 英語は日本語より下手なのを自覚した上で、ヒット件数と内容をとるか、言語をとるかでしょ。 http://mevius.5ch.net/test/read.cgi/tech/1449440793/304
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.040s