wangbinze / Daily---3and1

0 stars 0 forks source link

❤️❤️❤️Question006-JavaScript、ES5和ES6中声明变量的方式和区别? #6

Open wangbinze opened 3 years ago

wangbinze commented 3 years ago

题目:JavaScript、ES5和ES6中声明变量的方式和区别?

wangbinze commented 3 years ago

image

var的变量提升只会提升被声明的变量,但不会赋值。

所有通过 var 定义的全局变量和函数都会成为 window 对象的属性和方法。

使用 let 和 const 的顶级声明不会定义在全局上下文中,但在作用域链解析上效果是一样的。

声明变量方式的最佳实践:

const 优先,let 次之。

使用 const 声明可以让浏览器运行时强制保持变量不变,也可以让静态代码分析工具提前发现不

合法的赋值操作。因此,很多开发者认为应该优先使用 const 来声明变量,只在提前知道未来会有修改时,再使用 let。这样可以让开发者更有信心地推断某些变量的值永远不会变,同时也能迅速发现因意外赋值导致的非预期行为。