コンピュータープログラムの本質は、主に機械によるさまざまな情報(価値)の操作と読み書きであると言えます。 JavaScriptには、プリミティブ(プリミティブタイプ)とオブジェクト(オブジェクト)の2つのカテゴリに分割される複数のタイプの値があります。
原生的
JavaScriptには5種類のプリミティブがあります。
1.Number。整数であろうと小数であろうと、すべての数値はタイプ数です。
2.ストリング。文字列タイプ。
3.boolean。ブールタイプ、真または偽。
4.ヌル。このタイプには、nullの値が1つしかありません。
5.未定。このタイプには、定義されていない値は1つだけです。
物体
プリミティブを除き、JavaScriptの他の値はオブジェクト(オブジェクト)です。オブジェクトにはいくつかの種類があります。
1.JSONキー価値ペアオブジェクト。 {"name": "bob"、 "age":42}など
2。配列。 [1,4,5,7,9]など。
3。関数。 function(){return true;}など。 JavaScriptには2つの形式の関数があります。1。実行可能コードブロック。 2。クラスコンストラクター。どんな形が存在しても、関数は常にオブジェクトです。
JSにはグローバルオブジェクトが付属しています
プログラミングを促進するために、JavaScriptにはグローバルオブジェクトが付属しています。グローバルオブジェクトには、次の7つのメンバー変数があり、すべてがオブジェクトです。
1.マス。一連の複雑な数学操作は、数学オブジェクトの方法を呼び出すことで完了できます。
2.数。数値オブジェクトのメンバー変数にアクセスすることにより、いくつかの特別な値を取得できます。
3.アレイ。配列オブジェクトのコンストラクター。
4。関数。関数オブジェクトのコンストラクター。
5.日。日付オブジェクトのコンストラクター。
6.regexp。正規表現オブジェクトのコンストラクター。
7.エラー。エラーオブジェクトのコンストラクター。
プログラムを作成するときは、上記の7つの変数に直接アクセスできるため、グローバルオブジェクトとして使用することもできます。
不変と可変
プリミティブとオブジェクトには明確な区別があります。すべてのプリミティブは不変であり、すべてのオブジェクトは可変です。文字列タイプを例として使用して、文字列メソッドを呼び出して編集した後、JavaScriptは編集された結果を新しい文字列オブジェクトに保存し、元の文字列オブジェクトは何も変更しません。
コードコピーは次のとおりです。
var s = "test";
s.touppercase(); //新しい文字列オブジェクトを返す "test"
console.log(s); // "test" - 元の文字列は変更されません
実験
JavaScriptでは、typeofキーワードを使用して、特定の値のタイプを取得できます。
数字の種類を取得します:
コードコピーは次のとおりです。
var n = 42;
console.log(typeof n);
プログラムの出力結果は番号です。
文字列のタイプを取得します:
コードコピーは次のとおりです。
var s = "test";
console.log(typeof s);
プログラムの出力結果は文字列です。
ブール値のタイプを取得します:
コードコピーは次のとおりです。
var b = true;
console.log(typeof b);
プログラムの出力結果はブール値です。
nullの種類を取得します:
コードコピーは次のとおりです。
var x = null;
console.log(typeof x);
プログラムはnullを出力する必要がありますが、実際にはオブジェクトを出力します。その理由は、null値でtypeof操作を使用する場合、プログラムはオブジェクトを返します。これは、JavaScriptの最初のバージョン以来存在していたバグです。 ECMAScript規格の策定中、このバグを修正するかどうかについて興味深い議論がいくつかありました:http://wiki.ecmascript.org/doku.php?id=harmony:Typeof_null;最終的な結論は、このバグを修正すると、問題が多すぎるWebサイトに問題を引き起こすため、当面は修正されないということです。
未定義のタイプを取得します:
コードコピーは次のとおりです。
var y =未定義;
console.log(typeof y);
プログラムの出力結果は未定義です。
JSONオブジェクトのタイプを取得します:
コードコピーは次のとおりです。
var j = {"name": "bob"、 "age":42};
console.log(typeof j);
プログラムの出力結果はオブジェクトです。
配列オブジェクトのタイプを取得します。
コードコピーは次のとおりです。
var a = [2,3,5,7,11];
console.log(typeof a);
プログラムの出力結果はオブジェクトです。
関数オブジェクトのタイプを取得します:
コードコピーは次のとおりです。
var f = function(){return true;};
console.log(typeof f);
関数オブジェクトは非常に特別であり、TypeOF演算子は結果を関数として返します。