JavaScriptにおけるundefinedとnull概念

1000 ワード

JavaScriptには空の値を表す2つの値があります.一つはundefined、もう一つはnullです.
最近はJSコードブラウザの互換性を守る時にまたこの問題にぶつかりました.記録してください.
nullはJSのキーワードで、開発者ツール(ChromeのF 12など)をブラウザで開き、コンサートに入力します.
> typeof null

< "object"
戻ってきた結果はobjectタイプ、つまりキーワードnullは特殊な空き値オブジェクトであることが分かります.
undefinedは、字面の意味が定義されていないことを表します.JSは、未定義の値でより深い層の空の値を表すことを意味する.同様にブラウザに入力します.
> typeof undefined

> "undefined"
は、undefinedタイプの結果を返します.undefinedはこのタイプの唯一のメンバーです.
したがって、JSにおいては、これらの2つの値が表す空は、いくつかの場合に共通していてもよく、例えば==演算子を用いて判断する場合には、両者は同じである.演算子を使うときは、両者が異なります.
> undefined == null
< true

> undefined === null
< false
古いバージョンのブラウザの互換性の問題を処理する時、変数の判断を行う時は、厳密に等しい演算子==を使ったほうがいいです.変数の割当や参照をする時は、nullを使用したほうがいいです.
もう一つのポイントは、typeofキーを使って変数の種類を判断するときに返される値の種類は文字列です.
var test;
if(typeof test === "undefined"){
    console.log('true');
}
if(typeof test === undefined){
    console.log('false');
}