JavaScriptにおけるデータ型の種類と特徴


ccc

東京都内でサラリーマンをしているAI・育児ブロガー、CCCです。 AI(人工知能)と子育てに関する記事を執筆しています。 WebシステムをベースとしたAIを活用することで生活をより便利にする方法を紹介し、育児について衣食住における役立つグッズや情報を配信しています。


JavaScriptにおけるデータ型の種類と特徴を教えてください。


ccc

JavaScript はクライアント側で実行されるオブジェクト指向型のスクリプト言語です。主にブラウザ上で実行され、ユーザのアクションに応じて動的にWebページの内容を書き換えたり、フォームに入力された内容をチェックしたりといったことがクライアント側で実現できます。また、Ajaxという仕組みを利用することで、Webサーバーとブラウザとの間で非同期通信を行えるので、ページを切り替えることなくページの内容を書き換えることができます。Web系AIとJavaScriptの親和性はピカイチで、AIをWebブラウザから使うためのライブラリが公開されています。


ccc

今回はJavaScriptの使い方として、JavaScriptにおけるデータ型の種類と特徴をサンプルを用いて解説します。

プリミティブ型とオブジェクト型

データ型はプリミティブ型とオブジェクト型に分けることができます。

プリミティブ型は数値や文字列など単一の値を持ちます。プリミティブ型には次のような種類があります。

  • 数値
  • 文字列
  • 論理値(True、False)
  • Null

プリミティブ型でないものはすべてオブジェクト型となります。オブジェクト型には次のような種類があります。例として配列であれば[‘april’, ‘may’, ‘june’]のように、複数のプリミティブ型や他のオブジェクトを持ちます。

  • Arrya(配列)
  • Object(オブジェクト)
  • JSON
  • Function(関数)
  • Date(日時)
  • RegExp(正規表現)

データ型の宣言はしない

JavaScriptでは変数宣言を行うときにデータ型を指定しませんので、どんなデータ型でも格納できます。既に値が格納されている変数に対して、別の値を再度代入できます。

let temp;
temp=3;
temp=['april', 'may', 'june'];

文字列について

文字列はシングルクォーテーション(‘)またはダブルクォーテーション(“)で値を囲みます。

let temp;
temp='test';
temp="test";

論理値について

論理値はif文など条件式で使われます。例えば3<5の式はtrueを返し、10>20の式はfalseを返します。

console.log(3 < 5);
//true

console.log(10 > 20);
//false

Nullについて

Nullは変数が特定の値やオブジェクトを参照していないことを明示するときに使います。

let temp=null;
console.log(temp);

プリミティブ型とラッパーオブジェクト

数値や文字列といったプリミティブ型はオブジェクトではありませんが、それぞれに対応するラッパーオブジェクトとしてプロパティを参照したり、メソッドを実行したりすることができます。

プリミティブ型とラッパーオブジェクトの対応は次のとおりです。

  • 数値 ⇔ Number
  • 文字列 ⇔ String
  • 論理値 ⇔ Boolean
  • Null ⇔ なし

プリミティブ型に対応するラッパーオブジェクトのメソッドを呼び出すと、プリミティブ型の値がオブジェクト型に変換され、メソッドが実行されます。

次のサンプルを実行してください。文字列型tempがオブジェクトに自動で変換され、toUpperCaseメソッドが実行されることを確認してください。
toUpperCase()は小文字を大文字に変換するメソッドです。

let temp='test';
console.log(temp.toUpperCase());
//TEST

これは明示的にラッパーオブジェクトを作成して、toUpperCaseメソッドを呼び出すのと同じです。

let temp='test';
let obj=new String(temp);
console.log(obj.toUpperCase());
//TEST

型変換(キャスト)

型変換(キャスト)を行うことで、数値を文字列に変換したり、文字列を数値に変換したりできます。

String(数値) //数値を文字列に変換
Number("文字列") //文字列を数値に変換