どちらも「値がない」ことを表しますが、意図と由来 が異なります。
undefined:値の 不在 であり、通常は JavaScript エンジンによって設定されます — 宣言されたが代入されていない変数、存在しないオブジェクトのプロパティ、渡されなかった関数の引数、またはreturnのない関数などです。null:意図的な「空」の値で、「ここには意図的に何もない」と示すためにあなた自身が代入します。
js
a;
obj = {};
obj.;
() {}
();
b = ;
