ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript_javascript スキルにおける null と未定義の違いの紹介例

JavaScript_javascript スキルにおける null と未定義の違いの紹介例

WBOY
WBOYオリジナル
2016-05-16 16:36:261073ブラウズ

最初に未定義について話しましょう:

JavaScript の変数は弱く型指定されているため、変数を宣言するときに var キーワードのみを使用する必要があります。 C のような厳密に型指定された言語の場合、変数の宣言時に初期値が指定されていない場合、たとえば、int 変数のデフォルト値は 0 になります。しかし、JavaScript のような弱い型指定言語では、たとえば変数

を宣言した場合、そのような変数にどのようなデフォルト値を与えるかを決定する方法がありません。

var v1;

false、0、または '' のどれにするべきですか?

型がないので判断できません。 Javascript では、その寿命後に初期値が与えられない変数には、未定義を与えます。ただし、この変数が宣言されていることが前提となります。宣言されていない識別子である場合は、エラーが発生します。以下のコードを見てください。

vo="vo";//var キーワードを使用しない場合は、グローバル変数が作成されます。値を割り当てないと、次のようにエラーが報告されます。
//v1;//エラーが報告されます
var v2;//未定義
var v3="";//null
アラート(音声)
//アラート(v1);//
アラート(v2); アラート(v3);

null について話しましょう:

JavaScript には、数値、文字列、ブール値、オブジェクトといったいくつかの基本的な型があります。オブジェクト型変数には、オブジェクトのインスタンスである場合と、null 参照である場合の 2 つの状況があります。Java などのオブジェクト指向言語に精通している人なら簡単に理解できるはずです。理解する。どちらの場合も、タイプは Object です。 Javascript の変数は、値を割り当てる場合にのみ使用されます

次のように、そのタイプを決定します。

コードは次のとおりです:

var v1 = 1; 
var v2 = true; 

alert(typeof v1); //number 
alert(typeof v2); //boolean 

v2 = new Date(); 
alert(typeof v2); //object 

v2 = "str"; 
alert(typeof v2); //string 

v2 = null; 
alert(typeof v2); //object
ご覧のとおり、null は Javascript で特別なオブジェクト型の値を表します。これは、識別子をオブジェクト型として宣言したいが、それにインスタンスを与えない場合に使用されます。当面は、後で使用するために null に初期化できます。

単純に言うと、すべての変数について、宣言後に初期値が指定されていない限り、null 参照の概念を表現するために Object 型が使用されている場合、それは未定義になります。ヌルによって。

ここにいくつかの追加があります:

null: 値がないことを意味します。

未定義: 宣言されていない変数、宣言されているが値が割り当てられていない変数、または存在しないオブジェクト プロパティを示します。 == 演算子は、2 つを等しいものとして扱います。 2 つを区別したい場合は、=== または typeof 演算子を使用します。両方を含めるには if (!object){} を使用します。

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