Skip to content

Latest commit

 

History

History
31 lines (26 loc) · 1.06 KB

File metadata and controls

31 lines (26 loc) · 1.06 KB
id javascript-basics-null-undefined
title undefined と null
level 3
question
undefinedとnullは、どう使い分けるのが良いですか?
変数を宣言しただけの状態がundefinedになるのはなぜですか?
`typeof null` が `'object'` になるのは本当に正しいのですか?

undefined と null

他言語経験者が最初に混乱しやすいのが、この undefinednull の違いです。

  • undefined: JavaScriptエンジンが「値がまだない」ことを示すときに現れます(例: 宣言だけして代入していない変数)。
  • null: プログラマが「ここには値がない」と明示したいときに代入します。
> let unassigned;
undefined
> unassigned
undefined
> let empty = null;
undefined
> typeof unassigned
'undefined'
> typeof empty
'object'

typeof null'object' になるのは、JavaScript初期から残っている歴史的な仕様です。null 自体はオブジェクトではなく、プリミティブ型の値です。