2.1 変数と痛み

最も興味深いものから始めましょう。JavaScript には変数がありますが、それらの変数には型がありません。どの変数にも、絶対に任意の値を割り当てることができます。型が必要になるまでは無害に見えますし、便利にさえ見えます。

キーワードは変数を宣言するために使用されますvar

var name;
var name = value;

JavaScript で変数を操作する例:

var a = 10, b = 20;
var c = a*a + b*b;

var s = "Diagonal equals:";
console.log( s + Math.sqrt(c));

素晴らしく明確なコードですね。おそらく、美しくてわかりやすい JavaScript コードを見るのは、人生でこれが最後かもしれません。この瞬間を思い出してください:)

2.2 JavaScript での入力

上で述べたように、JavaScript 言語の変数には型がありません。ただし、変数の値には型があります。JavaScript で最も一般的な 5 つの型を次に示します。

# タイプ 説明
1 番号
var pi = 3.14;
任意の数値が含まれます
2
var s = "Hello!";
文字列が含まれています
3 ブール値
var result = true;
true または false を含む
4 配列
var arr = [1, 2, 3, 4, 5];
要素の配列が含まれます
5 日にち
var current = new Date();
日付が含まれています
6 物体
var o = {
   width: 100,
   height: 200
}
キーと値のペアで構成されるオブジェクトが含まれます。JavaのHashMapに似たもの
7 関数
function sqr(var x) {
   return x*x;
}
関数

typeof キーワードは、オブジェクトのタイプを決定するために使用されます。次に例を示します。

var s = "134";
var x = (typeof s == "String") ? s*1 : s;

2.3 関数と戻り値

そしてもちろん JavaScript には関数があります。クラスがないため、コード内のどこでも関数を宣言できます。他の機能でも。一般的な形式は次のとおりです。

function name(a, b, c) {
  // function code
   return result;
}

関数には型がありません。言語自体に型互換性制御がないのに、なぜでしょうか? 関数パラメータが欠落している場合もあります。値を返す return コマンドも同様です。

関数を呼び出すときは、任意のタイプの任意の数のパラメータを渡すことができます。超過したものは破棄され、不足したものは等しくなりますnull

関数の例:

function getValue(name)
{
    return this[name];
}
function setValue(name, value)
{
    this[name] = value;
}

2.4 JavaScript の配列

JavaScript の配列は Java の配列と非常に似ています。例:

var array = [1, 2, 3, 4, 5];
array[3] = array[2];
console.log (array[0]);

他の配列を含め、任意の型の値を持つことができます。

var array = [1, "Hello", 3.14, [4, 5] ];
array[3] = array[2];
console.log (array[0]);

さらに、配列もコレクションのように動作します。要素を動的に追加できます。

var array = [];
array.push(100);
array.push(101);
array.push(102);

array[1] = array[2];
console.log (array[0]);

2.5 JavaScript のオブジェクト

JavaScript のオブジェクトは Java の HashMap に非常に似ており、キーと値のペアが含まれています。例:

var obj = {
 name: "Bill Gates",
 age: 67,
 company: "Microsoft"
};

console.log (obj.age);

オブジェクト フィールドには、次の 2 つの異なる方法でアクセスできます。

var x = obj.age;
var x = obj["age"];

HashMap と同様に、フィールドを作成および削除できます。例:

var obj = {};
obj.name = "Bill Gates";
obj.age = 67;
obj.company = "Microsoft";

delete obj.age;  //remove field