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 は数値を文字列として扱います。
JavaScript は、式を左から右に評価します。順序が異なると、異なる結果が生じる可能性があります:
最初の例では、JavaScript は 16 と 4 を "Volvo" に達するまで数字として扱います。
2番目の例では、最初のオペランドが文字列なので、すべてのオペランドは文字列として扱います。
JavaScript の型は動的です。つまり、同じ変数を異なるデータ型を格納するのに使用することができます:
var x;
// Now x is undefined
var x = 5; // Now x is a Number
var x = "John"; // Now x is a String
文字列(またはテキスト文字列)は、"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 には1種類の数値タイプしかありません。
数字は、小数点付きでも、小数点なしでも書くことができます:
var x1 = 34.00; // Written with decimals
var x2 = 34; // Written without decimals
非常に大きな数字、または非常に小さな数字は、指数表記法で書くことができます:
このチュートリアルの後半では、数値の詳細を学習します。
ブール値は、true か false の2つの値しか持つことができません:
var
x = true;
var y = false;
ブール値は条件付きテストでよく使用されます。
条件付きテストの詳細については、このチュートリアルの後半で学習します。
JavaScript の配列は角括弧で囲みます。
配列項目はコンマで区切ります。
次のコードは、cars という配列を宣言(作成)しています。この配列には3つの項目(車名)が含まれています:
配列インデックスは、0 から始まります。つまり、最初の項目は[0]、2番目は[1]、・・となります。
配列の詳細については、このチュートリアルの後半で説明します。
JavaScript オブジェクトは波括弧で記述します。
Object プロパティは、名前:値のペアをカンマ区切りで記述します。
上の例のオブジェクト (person) には、firstName、lastName、age、eyeColor の4つのプロパティがあります。
オブジェクトの詳細については、このチュートリアルの後半で説明します。
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" を返します。
JavaScript では、値のない変数は undefined という値を持ちます。typeof も undefined です。
値を undefined に設定すると、あらゆる変数を空にできます。型も undefined です。
empty 値は、undefined とは何の関係もありません。
empty 文字列変数には、値と型の両方があります。
JavaScript での null は「無」です。それは存在しないもののように仮定されます。
不幸にも、JavaScriptでは、null のデータ型はオブジェクトです。
null の typeof がオブジェクトであることは、JavaScript のバグとみなすことができます。null にすべきです。
null を設定することで、オブジェクトを空にすることができます:
また、オブジェクトに undefined を設定することによって、オブジェクトを空にすることもできます:
typeof undefined
// undefined
typeof null
// object
null === undefined
// false
null == undefined
// true
Try it Yourself »