予約語である null は、「値がない」「オブジェクトがない」を意味する特別な値のキーワードです。
グローバル変数である undefined は、undefined値(宣言されたが初期化されていない状態)が格納されている。
尚、nullはキーワードなのでnull自体へ代入はできませんが、undefinedは変数なのでundefined自体へ代入ができます。
何かをundefinedに代入した後、元のundefined値にしたい場合は、以下のように行います。
undefined = void 0;