前端基础ES6——var、let、const的区别
背景
日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。 同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。
内容
ES6中作用域主要分为三种:全局作用域、函数作用域、块作用域。
代码语言:javascript复制<script type="text/javascript">
var a = 123; // 全局作用域
console.log(a); // 这里打印123
// 函数作用域
(function test() {
console.log(a); // 这里仍然可以打印123
var b = 456;
console.log(b); // 这里打印456
})();
console.log(b); // 报错,由于b是在函数作用域中。
{
let c = 789;
console.log(c); // 这里打印789
}
console.log(c); // 报错
const demo = {
name : '张三',
age : '12岁'
}
// 这里报错,由于其常量不可更改特性。
demo = {
name : '张三2',
age : '14岁'
}
</script>
块级作用域使用{}进行包括,使用if等关键词时{}也属于块作用域。
- let 用来定义变量,用于块作用域中
- var 用来定义变量,用于全局作用域和函数作用域
- const 用来定义敞亮,必须初始值,用于块级作用域,不可修改。
本文声明:
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。