JavaScriptを一から理解する: データ型について
はじめに
はじめまして、Doxperと申します。
今回はJavaScriptにおけるデータ型について学んでいきます。
この記事でできるようになること
- データ型とは何か理解することができる。
- JavaScriptの基本的なデータ型について理解することができる。
対象読者
- エンジニアを目指している同士
- JavaScriptの基礎を身につけたい方
- 過去にプログラミング学習に挫折した方
- プログラミング言語は他に触ったことがない方
JavaScript Data Types
データ型とは簡単に説明すると、データの種類です。
JavaScriptでは'apple'のような文字列から1,10,100のような数値。
true
, false
などの論理値など様々なデータ型が存在します。
プログラミング言語にはデータ型を強く意識するものも存在すれば、そうでないものであります。
JavaScriptは後者にあたり、データ型についてはそこまで意識する必要がありません。
このようなプログラミング言語のことを一般的に動的型付け言語と呼ばれたりします。
一方、データ型について強く意識する必要のある言語のことを静的型付け言語と呼びます。
では早速例に移ります
const foo = 10;
const bar = 'Zenn';
上記の例ではfoo
は数値型(number), bar
は文字列型(string)となります。
JavaScriptの基本的なデータ型
データ型 | 概要 | 例 |
---|---|---|
String |
シングルまたはダブルクォートで囲まれた0個以上の文字列を表します。文字列型と呼ばれます。 |
'apple' , "Hello, Zenn" など |
Number |
整数または浮動小数点数を表します。数値型と呼ばれます。 |
5 , 3.14 など |
Boolean |
true(真)/false(偽)。真偽型と呼ばれます。 |
true , false
|
null ,undefined
|
値が未定義、空であることを表します。特殊型と呼ばれます。 | let foo; |
Symbol |
シンボルを表します。シンボル型と呼ばれます。 |
let foo = Symbol('hello'); など |
Object |
キーとバリューから成るデータの集まりを表します。オブジェクトと呼ばれます。 | let songs = {}; |
String
string
はテキストを格納するために使われます。
JavaScriptでは''
シングルクォートまたは、""
ダブルクォートで囲む必要があります。
以下はいずれも正しいコードです。
//文字列型
const foo = 'apple';
const bar = "banana";
Number
Number
は整数と浮動小数点数(小数、指数)を格納するするために使われます。
以下はいずれも正しいコードです。
//数値型
const number1 = 100;
const number2 = 3.14;
Boolean
Boolean
はtrue
かfalse
の2つの値のうちの1つを表します。
以下はいずれも正しいコードです。
//数値型
const bool1 = true;
const bool2 = false;
null, undefined
undefined
は変数の値が定義されていない値を表します。
変数が宣言されていても値が定義されていなければundefined
となります。
null
は空の値、未知の値を表す特殊な値です。
let name;
console.log(name); // => undefined
明示的に変数値をundefined
にすることも可能です。
let name = undefined;
console.log(name); // => undefined
以下はnull
の例です
const name = null;
null vs undefined
null
とundefined
は一見同じように見えるかもしれません。
しかし具体的には以下のような違いがあります。
-
undefined
は変数は宣言されているが、まだ定義されていないことを表す。 -
null
は何もないことを表すために割り当てられた値 -
null
はオブジェクト型 -
undefined
はundefined型
Symbol
symbol
はJavaScriptの新しいバージョン(ES2015)から導入されました。
symbol
は完全に一意(ユニーク)な識別子です。
例を見てみましょう。
const foo = Symbol('hello');
const bar = Symbol('hello');
Symbol()が返すシンボルはすべて一意であるため、すべてのシンボルは独自のIDを持っています。
const foo = Symbol('hello');
const bar = Symbol('hello');
console.log(foo === bar); // => false
上記の例であれば、foo
, bar
ともに引数として'hello'
をとっていますが、false
と見なされます。
Object
Object
とはプロパティを複数集めたものの集合のことを言います。
ハッシュまたは連想配列と呼ばれる場合もあります。
// personというオブジェクトを作成
const person = {
firstName: 'john',
lastName: 'mayer',
age: 44,
};
JavaScriptのオブジェクトに関しては、別の記事で詳しく紹介します。
typeof演算子
変数の型を調べるには,typeof
演算子を使います。
以下が使用例です。
const fruit = 'banana';
typeof(fruit); // => 'string'
const num = 1;
typeof(num); // => 'number'
const bool = true;
typeof(bool); // => 'boolean'
const foo = null;
typeof(foo) => // 'object'
おわりに
いかがでしたでしょうか?
JavaScriptの基本的なデータ型についてご説明しました。
前述した以外にもarray
やfunction
などまだまだ重要なデータ型は存在しますが、それについては次回以降の記事でご紹介いたします。
また、記事について間違っている点やよりよい表現などの提案などありましたらご気軽にコメントいただけますと幸いです。
それではまた次回の記事でお会いしましょう👋
参考文献
JavaScript のデータ型とデータ構造 - JavaScript | MDN
データ型とリテラル · JavaScript Primer #jsprimer
Learn JavaScript Programming
JavaScript Tutorial
山田 祥寛(2016).改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
Discussion