ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript データ型の詳細な紹介

JavaScript データ型の詳細な紹介

零下一度
零下一度オリジナル
2017-07-17 16:05:401151ブラウズ

1. 基本データ型と参照データ型

ECMAScriptには、基本データ型と参照データ型の2種類の値が含まれています。

基本データ型は単純なデータセグメントを指し、参照データ型は複数の値で構成されるオブジェクトを指します。

変数に変数を代入するとき、パーサーが最初に確認しなければならないのは、その値が基本型の値なのか参照型の値なのかということです。

2. 共通の基本データ型:

数値、文字列、ブール値、Null、および未定義。プリミティブ データ型は、変数に保持されている実際の値を直接操作できるため、値によってアクセスされます。例:

var a = 10;

var b = a;

b = 20;

console.log(a) // 10 value

上記では、 b はコピーに値するコピーを取得しますが、 2 つの変数の値は等しいですが、2 つの変数には 2 つの異なる基本データ型値が格納されます。

Bはaのコピーを保存するだけです。したがって、b を変更しても a には影響しません。

JS は合計 6 つのデータ型を定義しました。つまり、unknownnullboolean (Boolean)、number (number)、string (string)、object( object )。 (他のデータ型は ES6 で定義されています)。このうち、最初の 5 は単純なデータ型であり、object は複雑なデータ型です

各データ型を理解する前に、どの言語でも、変数は情報を格納するためのコンテナーです。たとえば、数学 x = 5 では、x は数値 5 のコンテナであり、x は変数です。 JS で変数を定義するには、var キーワードを使用します。例: var x = 5;

この時点で、データ型が何であるかをよく理解しました。数学では、数値は整数、小数、負の数にも分けられます。 。 。いくつかのタイプがあり、それぞれのタイプに適したアルゴリズムについては明確な規定があります。つまり、JS 言語では、これら 6 つのデータ型と、それぞれの型の使用ルールと使用シナリオが定義されています。次に、それらを 1 つずつ見ていきます。

各型について説明する前に、まず js 演算子
typeof

(変数のデータ型を検出するために使用されます) を紹介します。 var a;

typeof(a); //unknown

var b = 123;

typeof b; //number

上記のコードは、typeof() がオプションであることを示しています。

未定義

未定義の値は 1 つだけです。

次に、最初に未定義の変数を定義しましょう:

var a = 未定義

未定義は未定義を意味することがわかり、この変数にはポイント?実際には、変数を定義するために undefine は使用されませんが、変数が初期化されていない場合は、自動的に unknown の値が割り当てられます。例:

var a
; この時点で、a には自動的に unknown の値が割り当てられます。

それでは、なぜこんなことをするのですか?数学について考えてみましょう。x だけを書いたとき、この x は整数、小数、または負の数であると言えるでしょうか。絶対にありません!同様に、未定義のデータ型がない場合、変数 var a を定義します。この変数は数値であると言えますか?弦?それとも物体?確かにそうではありませんか?未定義になったので、この a の型は未定義であると言えます。これが未定義のデータ型の意味です。

null

値は null だけです。

var b = null
;

論理的な観点から見ると、null は null ポインター オブジェクトを表します。では、null は何に役立つのでしょうか?

typeof null
; を使用すると、返されるのは

null ではなく object であることがわかります。ははは、嘘つき、typeof はデータ型を検出できると言いませんでしたか?実際、これは null の使用を正確に示しています。 将来オブジェクトを保存する準備として変数を定義するとします。次に、この変数を null に初期化する方がよいでしょう。 ここでもう 1 つ言及しておきたいのは、unknown は null 値から派生するということです。したがって、

undefined == null; //true

boolean

には true と false の 2 つの値があります。

ブール型には 2 つの値しかありませんが、js のすべてのデータ型はブール値との間で変換できます。変換ルールは次のとおりです空文字列 空でない文字列 空の文字列

数値 -0 以外のデジタル値 (無限大を含む) 0/nan

オブジェクト 任意のオブジェクト null

アンダーファイン 該当なし 未定義 フロー制御ステートメントは非常に重要になります。

number


この型は数値を表します:

var f = 1234566

;

var g = 1.2356

;

さらに、数値型には特別な値もあります:

NaN (数値) a 数値)

この値は、値を返すはずのオペランドが値を返さない (エラーがスローされないように) 状況を表すために使用されます。たとえば、他のプログラミング言語では、数値をゼロで除算するとエラーが発生し、コードの実行が停止します。ただし、JavaScript では、0 で割った値は NaN を返すため、他のコードの実行には影響しません。

string

この型を使用して文字列を表します:

var s = "abcdef";

var t = "Beijing"

;

文字列には一重引用符 (') を使用するか、次のように表すことができます。二重引用符 (")。

変数が一重引用符または二重引用符で表現されている限り、その変数は文字列です。次の例を参照してください:

var a = "true"; typeof a; //" string"

var b = "5689"; typeof b; //"string"

object

オブジェクトとはデータと関数の集合です

.

var o = new Object();

o.name="beijing"; //オブジェクトのプロパティ

o.run = function(){}; //オブジェクトのメソッド

このオブジェクト インスタンスにプロパティとメソッドを追加します。

constructor - 現在のオブジェクトの作成に使用される関数を保持します。

hasOwnProperty(propertyName) - 指定されたプロパティが現在のオブジェクト インスタンス内に存在することを確認するために使用されます (インスタンス内ではありません)。プロトタイプでは、パラメータとしてのプロパティ名 (propertyName) を文字列形式で指定する必要があります (例: o.hasOwnProperty("name"))

isPrototypeOf(object) - 受信メッセージのチェックに使用されます。オブジェクトが別のオブジェクトのプロトタイプであるかどうか。

toString() - オブジェクトの文字列表現を返します。 valueOf() - オブジェクトの文字列、数値、またはブール表現を返します。通常は toString() メソッドの戻り値と同じです。上記は js の 6 つの基本的なデータ型です。次の記事は6つのデータ型間の相互変換です

以上がJavaScript データ型の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。