1. ホーム
  2. javascript

[解決済み] nullはなぜオブジェクトなのか、nullとundefinedの違いは何ですか?

2022-03-19 22:07:50

質問

なぜ nullobject JavaScriptでは?

をチェックしていますか?

if ( object == null )
      Do something

と同じ

if ( !object )
      Do something

?

そしてまた

とはどのような違いがあるのでしょうか? nullundefined ?

解決方法は?

(name is undefined)

あなたです。 とは何ですか? name ? (*)
JavaScriptです。 name ? とは何ですか? name ? 何のことだかわからないわ。あなたは今まで、どんな name を、以前は クライアント側で何か他のスクリプト言語を見ているのでしょうか?

name = null;

あなたです。 とは何ですか? name ?
JavaScriptです。 わからない

要するに undefined は、そのものの概念が存在しない場所であり、型もなく、そのスコープで過去に一度も参照されたことのないものです。 null は、そのものの存在は知られているが、その値が何であるかがわからない場合である。

ひとつ覚えておいてほしいのは null とは概念的に異なります。 false または "" などが、型キャスト後に等しくなる場合でもです。

name = false;

あなたです。 とは何ですか? name ?
JavaScriptです。 ブール値false。

name = '';

あなたです。 とは何ですか? name ?
JavaScriptです。 空の文字列


*: name この文脈では、一度も定義されたことのない変数を意味します。未定義の変数であれば何でもよいのですが、name はあらゆる HTML フォーム要素のプロパティです。これは、遥か昔に遡り、idよりずっと前に制定されました。idは一意でなければなりませんが、nameは一意である必要がないため、有用です。