みなさんは、NULL、0、undefined、空文字、半角スペースの違いを理解してしますか?
この記事では、NULL、0、undefined、空文字、半角スペースの違いについて分かりやすく解説していきます。
まずは、この画像を使って解説していきます!
この画像を見ると、「トイレットペーパーの芯」がセットされています。
つまり、お尻を拭く紙がもう無くなった状況を表しています。紙が無いので「0」というわけです。
プログラム的に説明すると「トイレットペーパー」という変数が宣言されていて、「0」という値がセットされている。という意味になります。
<
div class=”hcb_wrap”>
Integer toiletPaper = 0; //紙は0(芯のみ)
トイレットペーパーは、m(メートル)で量ることが多いので、もし1mでも残っていれば以下のように記述できるでしょう。
Integer toiletPaper = 1; //1m分ある。
この画像を見ると、芯すらもセットされていません。何もないのです。
これをプログラム的に説明すると「トイレットペーパー」という変数には値が何も代入されていないということになります。
Integer toiletPaper;//何も代入されていない。
この画像を見ると、そもそも「トイレットペーパーホルダー」すらも設置されていません。
トイレットペーパーをセットしておく場所がそもそもないのです。
「undefined」は日本語で「未定義」と訳されます。
「トイレットペーパーをセットしておく場所が存在しない」=「置く場所が定義されていない」と解釈できます。
空文字とは「長さが0の文字列」のことを指します。
String型など、文字列型の変数を扱うときにNULLではなく初期値を設定しておきたい場合などに使います。
NULLは先ほど説明したように「値が何も代入されていない状態」を指すので、文字列型の変数の値を明示的に初期化したいけど、具体的な値は入れたくない。という場合には、この空文字を使います。
実は半角スペースも「a」や「b」などと同じように文字の一種なのです。
半角スペースにも「a」や「b」と同じように文字コードが割り当てられています。
(ASCIIコードでいうと、aの文字コードは97、bの文字コードは98、半角スペースの文字コードは32になります。)
半角スペースは、人間の目には「何も映っていない」ように見えるだけで、コンピュータは「a」や「b」と同じように文字として解釈しています。
– | 同じ意味の類語 |
---|---|
NULL | — |
0 | — |
空文字 | ブランクともいう。 |
スペース | 半角スペース、全角スペースが存在する。 |
実は、プログラミング言語やデータベースによってはNULL、0、空文字、半角スペースを厳密に区別するものもあれば、区別せず同じ判定結果を返すものもあります。
なので、自分が使うプログラミング言語やデータベースではどういう判定をしているのかを調べてみることが大事です。
今回は以上です。
お疲れさまでした。
View Comments
典型的ないかがでしたか?系まとめブログですね。
新型コロナウイルス感染拡大防止のため、全記事削除・閉鎖を強く要請します。
nullとundefinedが逆。
この記事で「なるほど!」ってなる初心者がもし居たらただの馬鹿