JavaScriptで数値を扱う「Number」、数値計算を扱う「Math」、日付を扱う「Date」の基本JavaScript標準ライブラリの使い方超入門(4)(1/4 ページ)

JavaScriptの標準仕様としてビルトインされている主なオブジェクトの使い方を紹介する連載。今回は、数値を扱うNumberについて文字列変換のtoStringなどのメソッド、数値計算を扱うMathの各メソッド、日付を扱うDateについて計算や変換を行う各メソッドの基本を解説。

» 2016年10月18日 05時00分 公開
[金城俊哉]

連載目次

書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍『JavaScript Web開発パーフェクトマスター(2015年6月27日発行)』からの抜粋です。

ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。


 Numberオブジェクトは、数値型(number)の値をオブジェクトとして扱うためのラッパーオブジェクトです。数値のデータは基本型ですが、Stringオブジェクトのところで見たきたように、「変数名.プロパティ名(またはメソッド名)」のように書けば、自動的にNumberオブジェクトとして扱われるようになります。

数値を包み込むラッパーオブジェクト

 Numberオブジェクトのインスタンスは、new演算子を使って次のように記述します。

Numberオブジェクトのインスタンス化
Navigator

「Stringオブジェクトのところでお話ししたように、Numberオブジェクトをインスタンス化することは、通常ありません」


Driver

「基本型に属するデータ型の変数は、ラッパーオブジェクトのプロパティやメソッドを使用する時点で、自動的にオブジェクトとして扱われるのでしたね」


ラッパーオブジェクトのインスタンス化は自動的に行われる

Navigator

「例として、アラートダイアログに数値の『10』を表示する場合を見てみましょう」


、アラートダイアログに数値の『10』を表示する場合
Navigator

「このように書けば、ダイアログに『10』と表示されます。これは、内部的に次のような処理が行われたためです」


内部的に行われた処理
Navigator

ただし、変数num自体が文字列型になることはありません。変数numに格納されているデータは数値型のままです


Driver

「toString()メソッドを実行する際にNumberオブジェクトのインスタンスを生成して『10』を格納し、このインスタンスからtoString()メソッドを実行して文字列に変換するという処理が内部で行われているのですね」


Navigator

「なお、ラッパーオブジェクトのインスタンス化は内部で自動的に行われますので、new演算子でわざわざインスタンスを生成せずに通常の変数を宣言しておけば十分です」


リテラル表現を使って数値型の変数を作成する
Navigator

「このように変数として宣言しておけば、『num.toString()』のようにNumberオブジェクトのメソッドを問題なく使うことができます」


数値の桁数を揃えたり指数形式に変換してみる

 Numberオブジェクトのメソッドには、数値を16進数や8進数表記に変換したり、桁数を揃えるメソッドがあります。これらのメソッドを使って結果を見てみることにしましょう。

Numberオブジェクトのメソッドで数値を操作する(Number.html)
実行結果

Memo Numberオブジェクトのプロパティとメソッド

 Numberオブジェクトの主なプロパティとメソッドは、次のとおりです。

プロパティ
プロパティ 説明
MAX_VALUE 利用できる最大値。
MIN_VALUE 利用できる最小値(0に最も近い値)。
NaN 数値ではないことを示す(Not a Number)。
NEGATIVE_INFINITY 数値として利用できない負の無限大を表すための値。
POSITIVE_INFINITY 数値として利用できない正の無限大を表す特別な値。

 

メソッド
メソッド 説明
toString([n] 数値を文字列に変換して返す。mを指定した場合はn進数表記に変換する。
toPrecision(桁数) (桁数)を有効桁数として、数値を文字列に変換して返す。
toFixed(桁数) (桁数)で指定した小数点の位で四捨五入した数値を固定小数点表記の文字列にして返す。
toExponentia(l 桁数) (桁数)で指定した小数点以下の桁数で、数値を指数表記の文字列にして返す。
toLocaleString() 現在のロケール(地域フォーマット)に基づいて、数値を文字列に変換して返す。
valueOf() Numberオブジェクトが保持している数値を返す。

Memo Mathオブジェクトのプロパティとメソッド

 Mathオブジェクトには、切り上げや切り捨てなどの一般的な処理から、指数/対数や三角関数を扱うプロパティやメソッドが用意されています。

 ざっと並べてみましたが、このあとでまとめて実行してみることにします。

●プロパティ

平方根
プロパティ 説明
SQRT1_2 1/2の平方根。約 0.707
SQRT2 2の平方根。約 1.414

 

指数/対数関数
プロパティ 説明
E 自然対数の底として用いられる数学定数で、約 2.718
LN2 2の自然対数。約 0.693
LN10 10の自然対数。約 2.302
LOG2E 2を底としたEの対数。約1.442
LOG10E 10を底としたEの対数。約0.434
PI 円周率。約3.14159

●メソッド

一般的な処理
メソッド 説明
abs(n) 絶対値を返す。
max(n1, n2) 2つの提供された数式から大きい方の値を返す。
min(n1, n2) 2つの提供された数式から小さい方の値を返す。
pow(n1, n2) 底(n1)の式を指定の数値(n2)でべき乗した値を返す。
random 0〜1未満の疑似乱数を返す。

 

切り上げ/切り捨て/四捨五入
メソッド 説明
ceil(n) 数値nの最小の整数を返す(小数点以下切り上げ)。
floor(n) 数値nの最大の整数を返す(小数点以下切り捨て)。
round(n) 指定の数式を最も近い整数に丸めて返す(四捨五入)。

 

平方根
メソッド 説明
sqrt(n) 平方根を返す。

 

三角関数
メソッド 説明
sin(n) サイン( 正弦) を返す。
cos(n) コサイン( 余弦) を返す。
tan(n) タンジェント( 正接) を返す。
asin(n) アークサイン( 逆正弦) を返す。
acos(n) アークコサイン( 逆余弦) を返す。
atan(n) アークタンジェント( 逆正接) を返す。
atan(x,y) (x,y)座標が示す点への角度を、ラジアン単位で返す。

 

指数/対数関数
メソッド 説明
log(n) 自然対数を返す。
exp(n) e(自然対数の底) のべき乗を返す。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。