JavaScript は動的型付け言語です. 変数を定義するとき, 事前に変数の型を指定する必要はありません. 変数の型はプログラムの実行中に JavaScript エンジンによって動的に決定されます. さらに,同じ変数を使用して、次のようなさまざまなタイプのデータを格納します。
var b; // b はUndefined
b = "https://it-kiso.com/"; // b は String 型
b = 123; // b は Number 型
JavaScript のデータのタイプは、次の 2 つのタイプに分けることができます。
- 基本データ型 (値型): String (String)、Number (Number)、Boolean (Boolean)、Null (Null)、Undefined (未定義)、Symbol;
- 参照データの種類: オブジェクト (Object)、配列 (Array)、関数 (Function)。
ヒント: シンボルは ECMAScript6 で導入された新しいタイプのデータで、一意の値を表します。
typeof 演算子
さまざまなタイプのデータを紹介する前に、まず、変数のデータのタイプを返すことができる typeof 演算子について理解しましょう。
次の例に示すように、typeof 演算子は括弧の有無にかかわらず使用できます。
typeof x; // 変数 x のデータ型を取得する
typeof(x); // 変数 x のデータ型を取得する
1.JS基本データの種類
1) 文字列型
文字列 (String) 型は、’123’、”abc” などの単一引用符''
または二重引用符""
で囲まれたテキストです。一重引用符と二重引用符は文字列を定義する別の方法であり、文字列の一部ではないことに注意してください。
文字列を定義するときに、文字列に引用符が含まれている場合は、次の例に示すように、バックスラッシュ\
を使用して文字列内の引用符をエスケープするか、文字列から別の引用符を選択して文字列を定義できます。
let coffeeSentence = "Let's have a cup of coffee.";
let helloSentence = 'He said "Hello" and left.';
let neverGiveUpSentence = 'We\'ll never give up.';
2) 数値型
Number 型は、値を定義するために使用されます。JavaScript では、整数と小数 (浮動小数点数) は区別されず、次の例に示すように、Number 型はそれらを一様に表すために使用されます。
const x = 123;
const y = 3.14;
注: Number 型で定義できる値は無制限ではありません. JavaScript の Number 型は -(2 53 – 1) と (2 53 -1) の間の値のみを表すことができます.
一部の非常に大きな数または非常に小さな数については、次の例に示すように、指数 (指数) 表記法で表すこともできます。
const MILLION = 123e5; // 123を10の5乗倍したもの、すなわち12300000
const THOUSANDTH = 123e-5; // 123を10の-5乗倍したもの、すなわち0.00123
さらに、 Number 型には、Infinity、-Infinity、NaN などの特別な値がいくつかあります。
- 無限大: 正の無限大の値を表すために使用され、一般に 1.7976931348623157e+308 より大きい数値を指します。
- -Infinity: 負の無限大の値を表すために使用され、一般に 5e-324 未満の数値を指します。
- NaN: Not a value (Not a Number の略)。0 を 0 で除算するなど、無効または未定義の数学演算構造を表すために使用されます。
ヒント: 特定の計算の結果が JavaScript の数値型の値の範囲を超える場合、この数値は自動的に無限大に変換されます。正の数値は無限大、負の数値は -無限大です。
3)boolean(ブール)型
Boolean 型には条件判定でよく使われる true (真) または false (偽) の 2 つの値しかありません. true または false を直接使用して Boolean 型の変数を定義するだけでなく、いくつかの Expression を渡して取得することもできます。ブール値。例:
var a = true; //変数 a には true というブール値が代入されています。
var b = false; //変数 b には false というブール値が代入されています。
var c = 2 > 1; //変数 c には式 2 > 1 が成立し、結果として "真(true)" が返されるため、c の値はブール型の true になります。
var d = 2 < 1; //変数 d には式 2 < 1 が成立しないため、結果として "偽(false)" が返され、d の値はブール型の false になります。
4)Null(ヌル)型
Null は、値が 1 つだけの特別なデータのカテゴリです。これは、「空」の値、つまり値がなく、何もないことを意味し、null オブジェクト ポインターを定義するために使用されます。
typeof 演算子を使用して Null の型を表示すると、Null の型が Object であることがわかります。これは、Null が Object (オブジェクト) に属する特別な値を実際に使用していることを示しています。したがって、変数を Null に割り当てることで、空のオブジェクトを作成できます。
5) Undefined(未定義の)型
undefined は、未定義を意味する値が 1 つしかない特別なタイプのデータでもあります。変数を宣言しても変数に値を代入しない場合、この変数のデフォルト値は Undefined です。例えば:
```
const NUMBER = 0;
console.log(NUMBER); // 出力結果: 0
```
typeof 演算子を使用して割り当てられていない変数の型を表示すると、それらの型も未定義であることがわかります。 For undeclared variables, use the typeof operator to view their types and you will find that undeclared variables are also undefined. サンプル コードは次のとおりです。
let message;
console.log(typeof message); // 出力 undefined
console.log(typeof name); // 出力 undefined
6) 記号の種類
Symbol は ECMAScript6 で導入された新しいデータ型で、一意の値を表します。Symbol 型の値は、次の例に示すように、Symbol() 関数を使用して生成する必要があります。
const text = "123";
const symbol1 = Symbol(text);
const symbol2 = Symbol(text);
console.log(symbol1); // 出力: Symbol(123)
console.log(symbol2); // 出力: Symbol(123)
console.log(symbol1 == symbol2); // 出力: false。
//symbol1とsymbol2は外見上は同じに見えますが、実際には異なる unique なものです。
2.JS参照データの種類
1) Object type (オブジェクトタイプ)
JavaScript のオブジェクト (Object) 型は、キーと値で構成される順序付けられていないコレクションのセットです。オブジェクト型を定義するには中括弧{ }
が必要です。構文形式は次のとおりです。
{name1: value1, name2: value2, name3: value3, …, nameN: valueN}
このうち、name1、name2、name3、…、nameN はオブジェクト内のキーであり、value1、value2、value3、…、valueN は対応する値です。
JavaScript では、オブジェクト型のキーはすべて文字列型で、値は任意のデータ型にすることができます。オブジェクトの値を取得するには、次の例に示すようにkey-value
フォームを使用できます。
定数の場合:
const PERSON = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile'],
city: 'Beijing',
hasCar: true,
zipcode: null
};
console.log(PERSON.name); // 出力 Bob
console.log(PERSON.age); // 出力 20
変数名を変更:
let myPerson = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile'],
city: 'Tokyo',
hasCar: true,
zipcode: null
};
console.log(myPerson.name); // 出力 Bob
console.log(myPerson.age); // 出力 20
2) 配列型
配列 (Array) はデータを順番に並べたもので、配列内の各値を要素と呼び、配列には任意の型のデータを含めることができます。 JavaScript で配列を定義するには、角かっこ[ ]
を使用する必要があり、配列内の各要素はコンマで区切られます。次に例を示します。
[1, 2, 3, 'こんにちは', true, null]
または、次の例に示すように、Array() 関数を使用して配列を作成することもできます。
var number_arr = new Array(1, 2, 3, 4);
console.log(number_arr); // 出力 [1, 2, 3, 4]
配列内の要素には、インデックスでアクセスできます。配列のインデックスは 0 から始まり、順次増加します。つまり、配列の最初の要素のインデックスは 0、2 番目の要素のインデックスは 1、3 番目の要素のインデックスは 2 などです。 .次の例に示すように:
let myList = [1, 2, 3.14, 'こんにちは', null, true];
console.log(myList[0]); // インデックス0の要素、つまり1を出力します
console.log(myList[5]); // インデックス5の要素、つまりtrueを出力します
console.log(myList[6]); // インデックスが範囲外なので、undefinedが返されます
3) 機能タイプ
関数 (関数) は、特定の関数を含むコードのブロックです. 関数は自動的には実行されません. 次の例に示すように、実行するには関数名で呼び出す必要があります:
function こんにちは(名前){
return "こんにちは、" + 名前;
}
const res = こんにちは("Peter");
console.log(res); // 出力 こんにちは、Peter
さらに、次の例に示すように、関数を変数、オブジェクト、および配列に格納することもできます。また、関数をパラメーターとして他の関数に渡したり、他の関数から返すこともできます。
var fun = function(){
console.log("https://it-kiso.com/js/");
}
function createGreeting(name){
return "こんにちは、" + name;
}
function displayGreeting(greetingFunction, userName){
return greetingFunction(userName);
}
var result = displayGreeting(createGreeting, "Peter");
console.log(result); // "こんにちは、Peter" を出力する。