非数
NaNのことだよ
数字じゃないことを表す目印だよ
簡単に書くよ
非数(読:ヒスウ 英:Not a Number)とは
「NaN」のこと。
用語の中身としては
「数字じゃないよ」を意味する用語
であり
「あのよ~。本当は、ここには数字が入ってくるはずだったんだけどよ~。入ってきた値が数字じゃないんだわ」なときに出てくる、数字じゃないことを表す目印
です。
詳しく書くよ
最初に留意事項です。
「NaN(ナン)」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
NaNを(無理やり?)日本語にした表現が「非数」です。
「NaNって何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

それでは、いってみましょう。
サクっと一言で説明すると
数字じゃないことを表す目印
として使われるやつが「非数」です。
上でも書きましたが「NaN」を(無理やり?)日本語にした表現です。
「NaN」は「Not a Number(ノット・ア・ナンバー)」の省略表現ね。
not(ノット)の意味は「~でない」です。
否定を意味しています。
a(ア)は冠詞と呼ばれるやつです。
「1つの」とか、そんなニュアンスです。
number(ナンバー)の意味は「数字」とか「番号」です。
何となく くっつけると
数字じゃない
となります。
個人的には「非数」という表現には馴染みがありません。
プログラミングとかをしていて、よく見かけるのは「NaN」です。
ということで、本ページでも以降は「NaN」と表現します。
「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
(数字じゃないことを表す目印)のことなんだな~」と お考えください。






