LuckyWinty / fe-weekly-questions

A pro to record some interview questions every week...
MIT License
341 stars 34 forks source link

undefined 与 undeclared 的区别? #76

Open LuckyWinty opened 4 years ago

LuckyWinty commented 4 years ago

已在作用域中声明但还没有赋值的变量,是 undefined 的。相反,还没有在作用域中声明 过的变量,是 undeclared 的。对于 undeclared 变量的引用,浏览器会报引用错误,如 ReferenceError: b is not defined 。但是我们可以使用 typeof 的安全防范机制来避免 报错,因为对于 undeclared(或者 not defined )变量,typeof 会返回 "undefined"。