今天同事说了一句话,她去github上看mpvue的项目,写的太es6了,看不懂。
公司要求用es6,所以记录一下。看了哲哥的6本vue笔记,我就明白了差距。
首先是领导画的重点
一、let和const
1.1.let声明的变量只在let命令所在代码块中有效。
1.2.let不存在变量提升,必须先声明后使用。
1.3.在相同的作用域不允许重复声明
1.4.let、const声明的全局变量不属于全局变量
1.5.let的暂时性死区
2.1.const和let一样,用于变量声明。
2.2 const声明时必须赋值
2.3 const声明的变量物理地址不可改变
2.4 冻结对象用Object.freeze方法
二、字符串的扩展
1.字符串遍历 for...of
2.includes():返回boolean,是否包括参数字符串
3. startsWith():返回boolean,是否以参数字符串开头
4. endsWith(): 返回boolean,是否以参数字符串结尾
第二个参数n,endsWith中表示前n个字符,另外两种表示从n位到结尾。
5. repeat方法返回一个新字符串,将原字符串重复n遍。n向下取整
6. padStart()、padEnd()字符串自动补齐
7. 模板字符串
保留空格和换行、嵌入变量、嵌入表达式
8. string.raw() 模板字符串的处理函数
三、箭头函数
1.let a=a=>a,省略function,单句省略return
2.没有参数或多个参数用小括号 ()=>{}
3. 返回对象时需要用小括号包裹,否则理解为代码块
4. this作用域固定为声明时的上下文
5. 不能用new,argument
四、数组的扩展
1.扩展运算符(...),将一个数组转化成以逗号分隔的参数序列。
2.Array.from(),将类似数组对象和可遍历对象转化为数组
3.Array.of(),将一组值,转换为数组
4. copyWithin(),将指定位置的成员复制到其他位置(覆盖原有)
[1, 2, 3, 4, 5].copyWithin(0, 3)
// [4, 5, 3, 4, 5]
5. find()和findIndex(),找出第一个符合条件的成员/位置
6. fill(),用给定值,填充一个数组
7. entries()、keys()、values(),遍历数组
8. includes() 返回boolean,判断数组是否包含给定的值
9. 空位
五、map、filter、forEach
六、Promise对象
七、 Class的基本语法
八、 Class的继承
九、 Module的语法