1、变量声明 let 和 const
其中let表示变量,const表示常量,const声明的变量被认为是常量,也就是它的值不能被修改,但是,如果const的是一个对象,对象所包含的值是可以被修改的。抽象一点儿说,就是对象所指向的地址没有变就行。
2、箭头函数(函数的快捷写法)
箭头前的表示定义的自变量,箭头后的表示的是函数体。
3、模板字符串
用途一:字符串拼接。将表达式嵌入字符串中进行拼接,用 和${}
来界定;用途二:在ES5时我们通过反斜杠()来做多行字符串或者字符串一行行拼接,ES6反引号(``)直接搞定;ES6也提供了几个厉害的方法:includes(用来判断是否包含然后直接返回字符串)、repeat(用来重复字符串n次)、startsWith(判断是否以给定文本开始)、endsWith(判断是否以给定文本结束)
4、函数(函数默认参数)
5、拓展的对象功能——对象初始化简写
6、浅拷贝
Object.assign():Object.assign() 可以把任意多个源对象自身可枚举的属性拷贝给目标对象,然后返回目标对象。第一参数即为目标对象。在实际项目中,我们为了不改变源对象。一般会把目标对象传为{}
7、更方便的数据访问——解构(可以简化数组和对象的信息提取方式)
8、 Spread Operator展开运算符(三个点...)
(1)可以用来组装对象或数组(我的理解就是数组或对象的拼接),类似于JS中的concact;
(2)可以获取数组或者对象除了前几项或者除了某几项的其他项;
(3)对于Object而言,还可以组合成新的Object ,(ES2017 stage-2 proposal) 当然如果有重复的属性名,右边覆盖左边
9、import(导入模块)和export(导出模块)
10、Promise
在promise之前代码过多的回调或者嵌套,可读性差、耦合度高、扩展性低。通过Promise机制,扁平化的代码机构,大大提高了代码可读性;用同步编程的方式来编写异步代码,保存线性的代码逻辑,极大的降低了代码耦合性而提高了程序的可扩展性。换句话说就是用同步的方式去书写异步的代码(用Promise可以解决回调金字塔的问题)
11、Generators:生成器( generator)是能返回一个迭代器的函数
12、rest参数
其形式为“...变量名”,其中rest参数搭配的变量是一个数组,并且可以使用数组的一切操作。值得注意的是rest参数后边不能有其他参数(只能作为最后一个参数),否则会报错
网友评论