es6系列-变量声明
es6系列所有文章都是阅读阮一峰老师的《ES6标准入门》(第2版)所做的读书笔记。方便日后查阅相关基础知识。
git地址: https://github.com/rainnaZR/es6-study
变量声明方法
es6的变量声明方面包括: let, const, var, function, import, class。
let变量声明
- 不存在变量提升,变量一定要在声明后才能使用,也就是变量声明前,变量都是不可用的。
- 不允许重复声明。
- 拥有块级作用域,一个大括号就是一个块级作用域。
const变量声明
- 不存在变量提升,变量一定要在声明后才能使用,也就是变量声明前,变量都是不可用的。
- 不允许重复声明。
- 拥有块级作用域,一个大括号就是一个块级作用域。
- const变量声明常量,声明之后值不能更改。
- 指向引用类型的变量时,只指向数据存放的地址,不指向实际的数据。
- 全局变量的属性使用 var 来声明。
/* * for循环场景 * */ function constset(index) { var a = []; for(var m=0;m<index;m++){ a[m] = function(){ console.log('var:' + m); } } a[0](); a[1](); a[2](); a[3](); a[4](); for(let n=0;n<index;n++){ console.log('let:' + n); } } constset(5);//输出: var:5 var:5 var:5 var:5 var:5 let:0 let:1 let:2 let:3 let:4 /* * 块级作用域 * */ function test(){ let n = 5; if(true){ let n = 10; console.log('n:' + n); } console.log('n:' + n); } test(); //输出: n:10 n:5