文章目录
- 1. let 和 const
- 2. 字符串扩展方法
- 3.字符串模板(多行字符串)
- 4.解构表达式
- 5. 方法形参的默认值
- 6. 箭头函数
- 7.对象的函数简写方式
- 8.数组新增方法 map 和 reduce
- 9. 展开运算符 ... (扩展运算符)
- 10. Promise
- 11. set 和 map
- 12. class(类)的基本用法
- 13. Generator函数
- 14. Babel ES6转ES5的转码器
- 15. Decorator(修饰器)
- 16. 模块化
1. let 和 const
let 声明的变量,作用范围是let声明变量所在的代码块
const 声明的变量,是常量,值不能修改否则报错
2. 字符串扩展方法
str01.inclueds(str02) 字符串str01中是否包含字符串str02,返回结果布尔值
str01.startWith(str02) str01是否以str02开头,返回结果布尔值
str01.endWith(str02) str01是否以str02结尾,返回结果布尔值
3.字符串模板(多行字符串)
- es6支持多行字符串
- 使用的是 ` ` (对应英文输入法状态下,Tab键上面的反向单引号 )
let str01 = `
aaa
bbb
cc
`
4.解构表达式
ES6中允许按照一定模式从数组和对象中取值,然后按照变量进行赋值.(解构Destructuring)
数组解构赋值
let arr = [123,false,"aaa"]
//数组解构赋值使用[]
let [x,y,z] = arr
console.log(`x=${
x},y=${
y},z=${
z}`)
let [a,b] = arr
console.log(a, b)
输出结果如下:
对象解构赋值
const person = {
name: "tom",
age: 15,
address: ["GD","guangzhou","baiyunshan"]
}
//对象解构赋值,使用{}大括号
let {
name,age,address} = person
console.log(`name=${
name}, age=${
age}, address=${
address} `)
//解构赋值,并把解构的元素值赋值给新的元素
let {
name:n,age:a,address:ad} = person
console.log(`n=${
n}, a=${
a}, ad=${
ad} `)
输出结果如下:
5. 方法形参的默认值
- 方法的形参直接赋值
function add(a,b=1){
console.log(a+b)
}
add(5)
function add(a=2,b=1){
console.log(a+b)
}
add(5)
6. 箭头函数
(形参01,形参02,…) => {函数体…}
7.对象的函数简写方式
8.数组新增方法 map 和 reduce
map() 接收一个函数,将原数组的所有元素执行这个函数后生成新的元素,并把新的元素数组返回
- 举例如下:
- 输出结果:
reduce(param01,param02)
(1)param01(m,n) 是一个函数,必要参数
(1.1)该函数第一个参数m是reduce函数上一次处理的结果
(1.2)该函数第二个参数n是数组中需要处理的下一个元素
流程:
- reduce()会从左到右依次把数组的元素用reduce函数处理,
- 假如当前元素下标为x,那么会把arr[x]的处理结果作为reduce下一次处理的第一个参