JavaScriptのデータ型

文字列値、数値、ブール値、配列、オブジェクトを保存できます。

JavaScriptのデータ型

JavaScriptの変数は様々なデータ型:数値、文字列値、配列、オブジェクトなど:

var length = 7;                             // 数値
var lastName = "Gates";                      // 文字列
var cars = ["Porsche", "Volvo", "BMW"];         // 配列
var x = {firstName:"Bill", lastName:"Gates"};    // オブジェクト

データ型の概念

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

変数を操作するために、データ型を理解することは非常に重要です。

データ型がないと、コンピュータはこの問題を安全に解決することができません:

var x = 911 + \

「Volvo」に911を加えることは意味があるのでしょうか?この方法でエラーが発生するのか、それとも結果が生成されるのか?

JavaScriptは上記の例をこんなように処理します:

var x = "911" + "Porsche";

数値と文字列を足す場合、JavaScriptは数値を文字列として見なします。

var x = 911 + \

実際に試してみる

var x = \

実際に試してみる

JavaScriptは式を左から右に計算します。異なる順序では異なる結果が得られます:

JavaScript:

var x = 911 + 7 + \

結果:

918Porsche

実際に試してみる

JavaScript:

var x = \

結果:

Porsche9117

実際に試してみる

1番目の例では、JavaScriptは911と7を数値として見なしますが、"Porsche"に達するまでです。

2番目の例では、最初の操作数が文字列であるため、すべての操作数が文字列として見なされます。

JavaScriptは動的データ型を持っています

JavaScriptは動的データ型を持っています。これは同じ変数が異なるデータ型として使用できることを意味します:

var x;               // 今 x は undefined
var x = 7;           // 今 x は数値
var x = \

実際に試してみる

JavaScriptの文字列値

文字列(またはテキスト文字列)は、一連の文字(例えば "Bill Gates")です。

文字列は引用符で囲まれています。single quoteまたはdouble quoteを使用できます:

var carName = \
var carName = 'Porsche 911';   // single quoteの使用

実際に試してみる

文字列内で引用符を使用できますが、これらの引用符は文字列を囲む引用符と一致していません:

var answer = \
var answer = \
var answer = 'He is called \

実際に試してみる

このチュートリアルでは、さらに多くの文字列に関する知識を学びます。

JavaScriptの数値

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

数値を書くとき、小数点の使用は任意です:

var x1 = 34.00;     // 小数点あり
var x2 = 34;        // 小数点なし

実際に試してみる

非常に大きいか非常に小さい数は科学記数法で書くことができます:

var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123

実際に試してみる

本教程では、数値に関する多くの知識を学びます。

JavaScriptのブール値

ブール値は二つの値しかありません:true または false

var x = true;
var y = false;

実際に試してみる

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

本教程では、条件テストに関する多くの知識を学びます。

JavaScriptの配列

JavaScriptの配列は括弧で書かれます。

配列の要素はカンマで区切られています。

以下のコードは、carsという名前の配列を宣言(作成)し、3つの要素(車のブランド)を含んでいます:

var cars = ["Porsche", "Volvo", "BMW"];

実際に試してみる

配列のインデックスは0から始まり、これは最初の要素が[0]、次の要素が[1]と続くことを意味します。

本教程では、配列に関する多くの知識を学びます。

JavaScriptのオブジェクト

JavaScriptのオブジェクトは括弧で書かれます。

オブジェクト属性は name:value はい、カンマで区切られています。

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

実際に試してみる

上の例のオブジェクト(person)には、firstName、lastName、age、およびeyeColorという4つの属性があります。

本教程では、オブジェクトに関する多くの知識を学びます。

typeof演算子を使用できます。

JavaScriptの typeof JavaScript変数の型を決定するために:

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

typeof ""                  // 返却値は"string"
typeof "Bill"              // 返回 "string"
typeof "Bill Gates"          // 返却値は"string"

実際に試してみる

typeof 0                   // 返却値は"number"
typeof 314                 // 返却値は"number"
typeof 3.14                // 返回 "number"
typeof (7)                 // 返却値は"number"
typeof (7 + 8)             // 返却値は"number"

実際に試してみる

typeof演算子は配列に対して"object"を返します。なぜなら、JavaScriptでは配列がオブジェクトに属するからです。

Undefined

JavaScriptでは、値を持たない変数の値は undefined。typeofも返します。 undefined

var person;                  // 値は undefined、型は undefined。

実際に試してみる

どの変数も値を設定することで undefined をクリアすると、その型も undefined

person = undefined;          // 値は undefined、型は undefined。

実際に試してみる

空値

空値と undefined それは同じことではありません。

空の文字列変数は値と型を持っています。

var car = "";                // 値は ""、型は "string"

実際に試してみる

Null

JavaScriptでは、null は "nothing" です。存在しないものとして見なされます。

残念ながら、JavaScriptでは、null のデータ型はオブジェクトです。

null JavaScriptではオブジェクトを理解するのはバグと見なされます。それは本来的には null

値を設定することで null オブジェクトをクリアします:

var person = null;           // 値は null、しかし型はオブジェクトです。

実際に試してみる

または値を設定することで undefined オブジェクトをクリアします:

var person = undefined;           // 値は undefined、型は undefined。

実際に試してみる

Undefined と Null の違い

Undefined および null の値は一致するが、型は一致しません:

typeof undefined              // undefined
typeof null                   // object
null === undefined            // false
null == undefined             // true

実際に試してみる

原始データ

原始データ値は、追加の属性やメソッドを持たない単一のシンプルなデータ値です。

typeof 演算子は以下の原始データ型のいずれかを返します:

  • string
  • number
  • boolean
  • undefined

typeof "Bill"              // 返回 "string"
typeof 3.14                // 返回 "number"
typeof true                // 返回 "boolean"
typeof false               // 返回 "boolean"
typeof x                   // 「undefined」を返します (x に値が設定されていない場合)

実際に試してみる

複雑なデータ

typeof 演算子は以下のいずれかのタイプのいずれかを返します:

  • function
  • オブジェクト

typeof 演算子はオブジェクト、配列、または「 null を返します オブジェクト

typeof 演算子は関数を「 オブジェクト

typeof {name:'Bill', age:62} // 「object」を返します"
typeof [1,2,3,4]             // 「object」を返します (「array」ではありません、以下のコメントを参照)
typeof null                  // 「object」を返します"
typeof function myFunc(){}   // 「function」を返します"

実際に試してみる

typeof 演算子は配列を「オブジェクト「、なぜなら JavaScript では配列はオブジェクトであるからです。

課外読書

JavaScript 高级ガイド: