看过很多大佬的ES6笔记,总结一下学习后的收获,给自己当作一个笔记用用:
ES3、ES5定义变量有两种方法:var 和 function
ES6定义变量有var、function、let、const等方法
let定义的变量,只在其块级作用域中生效,不会像var定义的变量发生变量提升,let定义的变量如果在定义之前使用,会发生语法错误,而ES5 var 定义的变量在定义前使用,只会提示undefined
***ES6中不允许重复声明同名变量;在函数中,也不允许声明与函数参数同名的变量***
const定义一个常量,且定义时必须初始化,因为其定义后不允许修改了,而对于一个复杂型的变量(如object、array等),const定义的变量test这时是一个指针,指向的是这个复杂型变量的内存地址,只要指向的地址不变,我们是可以修改对象内的属性值的,如下:
const test = {name: "bob", age: 18};
test.name = "jack";
console.log(test); // 打印 { name:"jack", age: 18 } 此时test的name属性值已经发生改变,但是其内存地址没有发生变化