JavaScript のデータ型(3)、真偽型、Symbol型、null、undefindedを初心者向けに分かりやすく解説|JavaScript入門講座(5)

JavaScript
この記事は約6分で読めます。

はじめに

 JavaScript入門講座の第五弾として、JavaScript のデータ型(3)、真偽型、Symbol型、null、undefindedついて紹介します。

 この記事を読むと次の疑問について知ることができます。

  • データ型の真偽型とはどのようなもの?
  • データ型のSimbl型とはどのようなもの?
  • データ型のnullとundefindedとはどのようなもの?
    • null
    • undefinded

 JavaScript入門講座(4)では、JavaScript のJavaScript のデータ型(2)、数値型について解説してきました。

 ここでは、JavaScript のデータ型(3)、真偽型、Simbol型、Null、undefindedについて深堀していきます。

データ型の真偽型

 JavaScriptでは、値が真の場合「true」を返し、偽の場合に「false」を返すデータ型のことを真偽型、論理型、ブーリアン型などと呼びます。

var a = 5; //varで宣言した変数aに数値の5を代入
var b = "5"; //varで宣言した変数bに文字列の“5”を代入
var c = a == b; //varで宣言した変数cにa == bを代入
console.log(c);
console.log(typeof c);
c = a === b; //varで宣言した変数cにa === bを代入
console.log(c);
console.log(typeof c);

上述のコードの解説

  1. varで宣言した変数 a に数値 5 を代入
  2. varで宣言した変数 b に文字列 ”5” を代入
  3. varで宣言した変数 c に式 「a == b」 を代入
    console.log(c);で結果の値をコンソールに出力、 (結果:true)
    Javascriptでは、数値の5と文字列の”5”は等価とみなしている。
    console.log(typeof c);でcのデータ型を出力、 (結果:boolean)
  4. 今度は、cに式「a === b」を代入
  5. console.log(c);で結果の値をコンソールに出力、 (結果:false)
    Javascriptでは、数値の5と文字列の”5”は厳密に等価ではない。
    console.log(typeof c);でcのデータ型を出力、 (結果:boolean)

 値が、0、null、undefined、空文字などは偽とみなされます。

if ( 0 ){
console.log( "0は真" );
}
console.log( "0は偽" );
if ( null ){
console.log( "nullは真" );
}
console.log( "nullは偽" );
if ( undefined ){
console.log( "undefinedは真" );
}
console.log( "undefinedは偽" );
if ("" ){
console.log( "空文字は真" );
}
console.log( "空文字は偽" );

 上述のコードの結果は、全て「偽」とでます。

 さて、ここで、if 文の構文について紹介します。

if ( 式 ) {
 実行文A(例えば、console.log( ~ );)
}
実行文B(例えば、console.log( ~ );)

【上述の説明】
式が真ならば、{実行文A}が実行され、偽ならば、{実行分A}は実行されないで、実行文Bが実行されます。

データ型のSymbol型

 Symbol型のデータは、ユニーク(唯一の)値を持ちます。

 つまり、同じ名前のSymbol名でも、Javascriptのプログラム内では違うものとして扱われます。

let myKey = Symbol("myKey"); //letで宣言した変数myKeyにSymbolで"myKey"を代入
let myKey1 = Symbol("myKey"); //letで宣言した変数myKey1にもSymbolで"myKey"を代入
console.log( myKey === myKey1 ); //myKeyとmyKey1が厳密に等価であるかをコンソールに出力
console.log( typeof myKey ); //myKeyのデータ型をコンソールに出力
console.log( typeof myKey1 ); //myKey1のデータ型をコンソールに出力

上述のコードの解説

  1. letで宣言した変数myKeyにSymbolで"myKey"を代入
  2. letで宣言した変数myKey1にもSymbolで"myKey"を代入
  3. myKeyとmyKey1が厳密に等価であるかをコンソールに出力
    同じ名前であるので、文字列型ならば「true」が返るが、Symbol型であるために違うものとして扱われ、「false」を返す。
  4. myKeyのデータ型をコンソールに出力 (結果:Symbol)
  5. myKey1のデータ型をコンソールに出力 (結果:Symbol)

データ型のnullとundefinded

null

 nullは、数値変数に代入すると0となり、真偽型で紹介したように、真偽変数に代入すると「偽」となります。

var d = null; //varで宣言した変数dにnullを代入
console.log( d ); //コンソールにdを出力
console.log( d / 10 ); //コンソールにd÷10を出力

上述のコードの解説

  1. varで宣言した変数 d に「null」を代入
  2. console.log( d );でコンソールにdを出力、 (結果:null)
  3. console.log( d / 10 );でコンソールにd÷10を出力、 (結果:0)
    数値変数に代入した場合は、nullは0として扱われるために0÷10=0と言う結果を返す。

undefinded

 宣言した変数が未定義を示すデータ型であり、if 文内に未定義変数がある場合は、真偽型で説明したように「偽」として扱われます。

 それでは、実際に未定義の変数を宣言して、コンソールで見てみましょう。

let f ; //letで変数fに何も代入せずに宣言
console.log( typeof f ); //コンソールにfのデータ型を出力

上述のコードの解説

  1. letで変数 f に何も代入せずに宣言
  2. console.log( typeof f ); でコンソールにfのデータ型を出力、 (結果:undefinded)

おわりに

 如何だったでしょうか?

 データ型の真偽型とはどのようなもの?、データ型のSymbol型とはどのようなもの?、データ型のnullとundefindedとはどのようなもの?、null、undefindedなどについて紹介してきました。

 この記事があなたにとって少しでもお役に立てればこれほど嬉しいことはありません。

以上です。

 

コメント

タイトルとURLをコピーしました