let 定义变量
没有预解析
let声明是不允许重复的,在同一个作用域内,与此同时,es6引进了块级作用域,也就是{}里面算单独作用域,使用let定义的,都存在块级作用域
const主要用来声明常量,而且不需要重新赋值,必须初始化,不能只定义,不初始化。
在前面组里面赋值,便是默认值
对象的解构赋值就与变量不同,他的顺序就没有关系,依靠名字来赋值。
使用别名的话,原名称就不能再用
字符串的解构赋值
let[a,b,c,d,e]=‘hello’;
console,log(a,b,c,d,e);
得到h,e,l,l,o;
如果想获取字符串的长度
判断是否有对应的字符串,如上面的话结果就是false
反引号里面还可以进行函数调用和运算
函数的参数默认值
没传值就nihao,有传值就打印传的那个值
可以接受除了第一个参数的剩余参数,形成一个数组。
如果前面是多个参数,就接受多个参数后的剩余参数。
不用一个个去写
可以用…
foo(…arr),就能达到同样效果
输出1,2,3,4,5,6
如果箭头后面不止一句,就加个{}
这个时候就不需要再担心this的指向window了