0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Javascript]Number.parseFloatとparseFloatのどちらを使うべき?

0
Posted at

結論

Number.parseFloat

理由

Number.parseFloatもparseFloatも動作は同じですが、「グローバルのモジュール化」を目的としてNumber.parseFloatの使用が望ましいです

このメソッドは、グローバルの parseFloat() 関数と同じ機能を持っています。

Number.parseFloat === parseFloat; // true

この目的は、グローバルのモジュール化にあります。

下記記事より引用
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Number/parseFloat#number.parsefloat_%E3%81%A8_parsefloat

グローバルのモジュール化って?

Javascriptにはグローバル関数がいくつかあり、「parseFloat」もそのひとつです。 
歴史的にこちらも使えますが、モジュール化を促進するためにNumberオブジェクトの静的関数として定義されたのが「Number.parseFloat」です。

そのためこれから使用するのであれば、Number.parseFloatを使うのが正解ということになります。

下記はアンカーリンクのしやすさのため英語ページのリンクを貼っていますが、グローバル関数を列挙してあります。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects#function_properties

モジュール化って?

グローバル変数やグローバル関数は便利ですが、規模が大きくなってくると意図せぬオーバーライドが起きたり、依存が増えすぎて修正ができなくなってきたりします。それを防ぐために適切な粒度で構造化(parseFloatの場合はNumberオブジェクトの静的関数として構造化している)します。

そうすることであくまでスコープがNumberオブジェクトの中だけになり、それくらいの規模であればメンテナンスやその影響範囲の把握も容易となります。

ほかのグローバル関数(parseInt、isNaNなど)も上記のモジュール化を意図してNumberオブジェクトの静的関数としても定義されていますが、それぞれ動作が同じもの、Numberオブジェクトの方が厳密になっているものなどがあるので、どっちを使ってもエラー出ないしいいやーではなく、一度確認しておいた方が良いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?