var 存在变量提升会污染全局变量
let const 声明的变量具有块级作用域,每声明一个就是一个块级作用域, 如 { }中的变量不可被外界调用;因变量无提升,必需先声明变量才能调用变量;
const 声明的变量内存地址不可更改,即内存指针指向不变,数据为复杂数据类型行时,如变量为数组对象等,可以修改其中部分值,不可对整个数组重新赋值。
若声明的值不需要变化,则一般使用const关键字声明,需要变化则使用用let关键字。
ES5声明变量即是顶层对象属性,ES6做出改变↓
函数内容只有一行,且返回值为本身,可省略 { }
call函数改变fn函数的的this指向,指向obj,箭头函数中没有this 其被定义在fn下,则使用fn的this,输出为obj对象。
箭头函数无this指向,被定义在obj中,然而obj为对象不能产生作用域,相当于成了全局的this指向。全局定义一个变量age,输出age值。相当于 window.this 。
当实参大于形参,可以用在形参前加 ... 则该形参可以接受所有实参。 加了 ...的形参也可数组结构时使用。
...数组名 相当于去掉了数组的[ ]号
左边给予变量默认值,右边为undefine则不会被赋值成
将为数组转化为数组【...数组名】
find查找满足条间的第一个item,返回要查找的元素
通过${ } 选择字符串加入,ES6中不需要拼接字符串
模板字符串会自动换行,且在模板字符串中可以调用函数也通过 ${ }来调用。
repeat CSS中背景设置的no-repeat 重复的意思。
set.size可获得去除了重复数据的个数
set去重后是伪数组,使用([...new set(数组名)])可实现数组去重,结果为数组