为什么要用void 0代替undefined

undefined不是保留字,只是一个全局属性,在全局作用域中是只读属性。但是在局部作用域中可以被定义重写,例如:
(function() {
    let undefined = 1;
    alert(undefined)  //1
})()
为什么用void 0代替,首先void是保留字,不可以呗覆盖重写,void运算符可以对后面的表达式进行运算并且返回undefined.也就是void后边无论是是什么都返回undefined,而运算式最简单的是0,所以就用void 0来表示。

原本摘抄与:  https://segmentfault.com/a/1190000020512845  
在此做下记录

原文地址:https://www.cnblogs.com/xingzoudecd/p/13353022.html