parseInt() と Number() の違い (書きかけ)

「Number型への変換」における parseInt() と Number() の違いの考察メモ。 まだ書きかけです。解釈が間違っている部分があるかもしれません。
0
think49 @think49

「Number型への変換」における parseInt() と Number() の違い。( http://ideone.com/x7oVl )

2010-09-17 15:09:28
think49 @think49

parseInt() の「先行する成分だけを整数値として解釈してよい」は「しなくてもよい」と解釈できるので実装依存。なので、parseInt('10px') で 'px' を削りつつ、Number型に変換する実装は良くないと思う。

2010-09-17 15:09:46
think49 @think49

まだ検証中 & ES3 の解読中なので、解釈が間違っている部分があるかもしれません。きちんと理解したら、もう一度まとめます。

2010-09-17 15:10:02
think49 @think49

ES3規定の parseInt ( http://bit.ly/aEtBOw ) は「文字列の先行する成分だけを整数値として解釈してよい」とあり、「しなくてもよい」と解釈できるが、14. には該当処理が記載されている。 #JavaScript

2010-09-17 22:35:19
think49 @think49

parseInt("5px") を実行したとき「文字列の先行する成分だけを整数値として解釈」は実装依存なので 5 を返すことを期待してはいけないのか、処理が規定されているから 5 を返すことを期待して良いのか、判断に迷う…。 #JavaScript

2010-09-17 22:35:31
think49 @think49

Google Chrome 6, Firefox v3.6.6, Opera v10.62, IE8 で parseInt("5px") を検証したところ、全ての環境で 5 が返ってきたので、私が試した限りでは実装依存ではない模様。 #JavaScript

2010-09-17 22:35:40