parseInt() と Number() の違い (書きかけ)
「Number型への変換」における parseInt() と Number() の違いの考察メモ。
まだ書きかけです。解釈が間違っている部分があるかもしれません。
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規定の 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