JavaScript中的块作用域与变量遮蔽🤯

JavaScript中的块作用域与变量遮蔽🤯

💡 原文英文,约600词,阅读约需2分钟。
📝

内容提要

块作用域指在大括号内声明的变量和函数仅在该块内可访问。var 属于函数或全局作用域,而 let 和 const 属于块作用域。相同名称的变量会发生遮蔽,let 和 const 不能被 var 遮蔽。

🎯

关键要点

  • 块作用域指在大括号内声明的变量和函数仅在该块内可访问。
  • var 属于函数或全局作用域,而 let 和 const 属于块作用域。
  • 相同名称的变量会发生遮蔽,块内的变量会遮蔽块外的变量。
  • let 和 const 具有独立的内存空间,且只能在块内访问。
  • var 可以在块外访问,因为它是全局或函数作用域。
  • 非法遮蔽:不能用 var 遮蔽 let,但可以用 let 遮蔽 let。
  • let 和 const 的遮蔽规则适用于相同名称的变量。

延伸问答

什么是块作用域?

块作用域是指在大括号内声明的变量和函数仅在该块内可访问。

var、let和const的作用域有什么区别?

var属于函数或全局作用域,而let和const属于块作用域。

什么是变量遮蔽?

变量遮蔽是指在块内声明的同名变量会遮蔽块外的同名变量。

let和const的内存空间有什么特点?

let和const具有独立的内存空间,且只能在块内访问。

var能否遮蔽let或const?

var不能遮蔽let,但可以被let遮蔽。

如何处理同名变量的遮蔽?

在块内声明的同名变量会遮蔽块外的变量,且let和const的遮蔽规则适用于相同名称的变量。

➡️

继续阅读