JavaScript データ型

❮ 前章へ 次章へ ❯

JavaScript データ型

JavaScript 変数には、数値、文字列、オブジェクトなど多くのデータ型を指定できます:

var length = 16;                               // Number
var lastName = "Johnson";                      // String
var x = {firstName:"John", lastName:"Doe"};    // Object

データ型の概念

プログラミングでは、データ型は重要な概念です。

変数を操作できるようにするには、その型が何かを知ることが重要です。

データ型がなければ、コンピュータはこれを安全に解決できません:

var x = 16 + "Volvo";

16 に "Volvo" を加算する意味がありますか? エラーにするのか、結果を計算するのか?

JavaScript は、上の例を次のように扱います:

var x = "16" + "Volvo";

数値と文字列を加算する場合、JavaScript は数値を文字列として扱います。

var x = 16 + "Volvo";
Try it Yourself »

var x = "Volvo" + 16;
Try it Yourself »

JavaScript は、式を左から右に評価します。順序が異なると、異なる結果が生じる可能性があります:

JavaScript:

var x = 16 + 4 + "Volvo";

>結果:<

20Volvo
Try it Yourself »

JavaScript:

var x = "Volvo" + 16 + 4;

>結果:<

Volvo164
Try it Yourself »

最初の例では、JavaScript は 16 と 4 を "Volvo" に達するまで数字として扱います。

2番目の例では、最初のオペランドが文字列なので、すべてのオペランドは文字列として扱います。


JavaScript の型は動的です

JavaScript の型は動的です。つまり、同じ変数を異なるデータ型を格納するのに使用することができます:

var x;               // Now x is undefined
var x = 5;           // Now x is a Number
var x = "John";      // Now x is a String

JavaScript 文字列

文字列(またはテキスト文字列)は、"John Doe" のような一連の文字です。

文字列は引用符で囲みます。一重引用符または二重引用符を使用できます:

var carName = "Volvo XC60";   // Using double quotes
var carName = 'Volvo XC60';   // Using single quotes

文字列を囲む引用符と一致しない限りは、文字列の中に引用符を使うことができます:

var answer = "It's alright";             // Single quote inside double quotes
var answer = "He is called 'Johnny'";    // Single quotes inside double quotes
var answer = 'He is called "Johnny"';    // Double quotes inside single quotes
Try it yourself »

このチュートリアルの後半で、文字列の詳細を学習します。


JavaScript 数値

JavaScript には1種類の数値タイプしかありません。

数字は、小数点付きでも、小数点なしでも書くことができます:

var x1 = 34.00;     // Written with decimals
var x2 = 34;        // Written without decimals

非常に大きな数字、または非常に小さな数字は、指数表記法で書くことができます:

var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123
Try it yourself »

このチュートリアルの後半では、数値の詳細を学習します。


JavaScript ブール値

ブール値は、true か false の2つの値しか持つことができません:

var x = true;
var y = false;

ブール値は条件付きテストでよく使用されます。

条件付きテストの詳細については、このチュートリアルの後半で学習します。


JavaScript 配列

JavaScript の配列は角括弧で囲みます。

配列項目はコンマで区切ります。

次のコードは、cars という配列を宣言(作成)しています。この配列には3つの項目(車名)が含まれています:

var cars = ["Saab", "Volvo", "BMW"];
Try it Yourself »

配列インデックスは、0 から始まります。つまり、最初の項目は[0]、2番目は[1]、・・となります。

配列の詳細については、このチュートリアルの後半で説明します。


JavaScript オブジェクト

JavaScript オブジェクトは波括弧で記述します。

Object プロパティは、名前:値のペアをカンマ区切りで記述します。

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Try it Yourself »

上の例のオブジェクト (person) には、firstName、lastName、age、eyeColor の4つのプロパティがあります。

オブジェクトの詳細については、このチュートリアルの後半で説明します。


typeof 演算子

JavaScript 変数の型を探すには、JavaScript の typeof 演算子を使用することができます。

typeof 演算子は、変数または式の型を返します:

typeof ""                  // Returns "string"
typeof "John"              // Returns "string"
typeof "John Doe"          // Returns "string"
typeof "John" + "Doe"      // Returns "string"
Try it Yourself »

typeof 0                   // Returns "number"
typeof 314                 // Returns "number"
typeof 3.14                // Returns "number"
typeof (3)                 // Returns "number"
typeof (3 + 4)             // Returns "number"
Try it Yourself »

プリミティブデータ

プリミティブデータ値は、余分なプロパティやメソッドを持たない単一の単純なデータ値です

typeof 演算子は、次のいずれかのプリミティブ型を返すことができます:

typeof "John"              // Returns "string"
typeof 3.14                // Returns "number"
typeof true                // Returns "boolean"
typeof false               // Returns "boolean"
Try it Yourself »

複合データ

typeof 演算子は、次の2つの複合型を返すことができます

typeof [1,2,3,4]             // Returns "object" (not "array", see note below)
typeof {name:'John', age:34} // Returns "object"
typeof function myFunc(){}   // Returns "function"
Try it Yourself »

typeof 演算子は、JavaScript において配列はオブジェクトであるため、配列に対する "object" を返します。


Undefined

JavaScript では、値のない変数は undefined という値を持ちます。typeof も undefined です。

var person;                // Value is undefined, type is undefined
Try it Yourself »

値を undefined に設定すると、あらゆる変数を空にできます。型も undefined です。

person = undefined;        // Value is undefined, type is undefined
Try it Yourself »

空値

empty 値は、undefined とは何の関係もありません。

empty 文字列変数には、値と型の両方があります。

var car = "";              // The value is "", the typeof is "string"
Try it Yourself »

Null

JavaScript での null は「無」です。それは存在しないもののように仮定されます。

不幸にも、JavaScriptでは、null のデータ型はオブジェクトです。

null の typeof がオブジェクトであることは、JavaScript のバグとみなすことができます。null にすべきです。

null を設定することで、オブジェクトを空にすることができます:

var person = null;         // Value is null, but type is still an object
Try it Yourself »

また、オブジェクトに undefined を設定することによって、オブジェクトを空にすることもできます:

var person = undefined;   // Value is undefined, type is undefined
Try it Yourself »

未定義と null の違い

typeof undefined           // undefined
typeof null                // object
null === undefined         // false
null == undefined          // true
Try it Yourself »

❮ 前章へ 次章へ ❯