null 和 undefined 对于显式使对象不可访问是否同样有效?

Are null and undefined equally valid for explicitly making objects unreachable?

根据 this answer on a related question,如果您希望某个对象被垃圾回收,最好使它们明确不可用。
对于所有实际意图和目的,使用 null 值还是 undefined 值是否重要?

简而言之,垃圾收集器是否可以平等地访问以下两个对象(无论它们最初可能引用了什么)?

window.foo = null;
window.bar = void 0;

分配什么值并不重要:它可能是 nullundefined{}42.

重要的是你需要断开堆中变量和对象之间的连接。

一旦一个对象不可访问 - 它就是一个被收集的候选者,不管某一天引用它的变量当前持有的当前值是多少。

这是来自 Google Chrome 的内存快照,仅供娱乐:

以及对应的JSFiddle:http://jsfiddle.net/r9b5taxf/