学习es6:let和const使用
一.运行及关闭运行:
在上一节中我们用shift+右击在C:\vue\es6文件夹中打开命令行使用:npm run dev,打开了我们的vue界面。
如果要关闭则在命令行中按住ctrl+C则可以关闭。
二.let和const使用方法:
(1).在javascript中我们通常使用var会发生变量提升,即脚本开始运行时,变量已经存在了,但是没有值,所以会输出undefined,
而let不会发生变量提升,这表示在声明它之前,变量是不存在的,这时如果用到它,就会抛出一个错误。
(2).var 是函数级作用域,let是块级作用域:
{
let a = 10;
var b = 1;
}
a // ReferenceError:a is not defined.
b // 1
容易发生错误:
var a = [];
for(var i = 0; i < 10; i++){
a[i] = function(){
console.log(i);
};
}
a[6](); // 10;
如果将var i 改为 let i 此时a[6](); 结果是6;
(3).let不允许在相同作用域内,重复声明同一个变量:
function(){
let a = 10;
var a = 1;
}
//报错
function(){
let a = 10;
let a = 1;
}
//报错
(4).const
声明一个只读的常量。一旦声明,常量的值就不能改变
const PI = 3.1415;
PI = 3;
//TypeError: Assignment to constant variable.
(5).const
命令声明的常量也是不提升,只能在声明的位置后面使用。
{
const a = 10;
}
console.log(a);
//报错
(6).const
声明的常量,也与let
一样不可重复声明
(7).对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址。const
命令只是保证变量名指向的地址不变,并不保证该地址的数据不变,
所以将一个对象声明为常量必须非常小心。
const t = {};
t.prop = 123;
console.log(t.prop); // 123
t = {}; // 报错
三.推荐阮一峰老师网站:http://es6.ruanyifeng.com/
阮一峰老师已经将自己写的es6书开源了。