NaN
数字じゃないことを表す目印だよ
「Not a Number」の略だよ
簡単に書くよ
NaN(読:ナン)とは
「数字じゃないよ」を意味する用語
であり
「あのよ~。本当は、ここには数字が入ってくるはずだったんだけどよ~。入ってきた値が数字じゃないんだわ」なときに出てくる、数字じゃないことを表す目印
です。
詳しく書くよ
サクっと一言で説明すると
数字じゃないことを表す目印
として使われるやつが「NaN」です。
日本語では「非数」と表現されたりします。
ちなみに「Not a Number(ノット・ア・ナンバー)」の略で「NaN」ね。
気が向いたら、覚えてあげてください。
※「Not a Number」を何となく日本語にすると「数字じゃない」となります。[詳細]
「NaN」という表現は、本当は数字であってほしい場面なのに数字じゃないやつが登場したときに使われます。
「1」とか「2」とかであってほしいのに「a」とかだった場合です。
例えば、そうですね。
以下の内容を書いたホームページのファイル(HTMLファイル)を作ったとしましょう。
<script>
var value1 = "a";
var value2 = 10/value1;
alert(value2);
</script>
このファイルを、ホームページを見るときに使うソフト(Webブラウザ)で表示すると、画面には「NaN」と表示されます。
ポイントとなるのは
var value1 = "a";
var value2 = 10/value1;
alert(value2);
の3行です。
それぞれ
//「value1」という名前の箱に「a」という文字を入れる
var value1 = "a";
//「value2」という名前の箱に「10÷value1の中身(=10÷a)」の結果を入れる
var value2 = 10/value1;
//「value2」の中身を画面に表示する
alert(value2);
という処理をやっています。
これらの処理を一言でまとめると
「10÷a」の結果を画面に表示する
です。
さて、ここで ちょっと考えてみてください。
画面に表示するのは割り算の結果です。
ということは、数字のはずですよね?
ですが「10÷a」の結果は数字では ありません。
というか割り算として成立していません。
「10」という数字を「a」という文字で割ろうとしていますからね。
無茶をするにも程があります。
個人的には「そんな無茶をしたらエラーにしろよ!」と思うのですが、実際にはエラーにはなりません。
どうなるか?
なんか、よく分からないけど、とりあえず数字ではないみたい!
と表示されるのです。
この「なんか、よく分からないけど、とりあえず数字ではないみたい!」を意味する用語が「NaN」です。
数字であってほしいのに数字じゃなかったときに登場します。
イメージは「NULL」の友達ですね。
NULLは「何もないよ!」を表す目印です。
NaNは「数字じゃないよ!」を表す目印です。
どちらもコンピュータの世界(というかプログラミングの世界)において、特定の状態を表す目印として使われるやつです。
一言でまとめるよ
まぁ「NaN」って単語が出てきたら「(本当は数字じゃないとダメなんだけど)数字じゃないことを表す目印なんだな~」と お考えください。
おまけ
■訳してみるよ
「NaN」は「Not a Number(ノット・ア・ナンバー)」の略です。
「not(ノット)」の意味は「~でない」です。
「a(ア)」は冠詞と呼ばれるやつです。
「1つの」とか、そんなニュアンスです。
「number(ナンバー)」の意味は「数」とか「数字」とか「番号」とかです。
何となく くっつけると
数字ではない
となります。






