1.解构
let arr = ['小明', 30, '男'];
let [name, age, gender] = arr
const user = {name: '大明', age: 20, gender: '女'}
const {name, age, gender} = user
2.扩展运算符
...str
场景: 将字符串转为数组 [...str]
...arr
场景:
浅拷贝数组: [...arr]
合并数组: [...arr1, ...arr2, ...arr3]
伪数组转为真数组: [...arguments] [...divElements]
...obj
场景:
浅拷贝: {...obj}
合并对象: {...user1, ...user2}
3. 模板字符串
let a = '悲伤'
`这是一个${ a }的故事`
${ 表达式 }
表达式: 具有一个结果就叫表达式
4. 对象简洁表示法
const user = {
name,
age,
show,
eat(){}
}
5. 箭头函数
const foo = function (num){
return num + 20
}
const foo = num => num + 20;
setTimeout(function (){}, 300)
setTimeout(() => {}, 300)
6.es6参数默认值
const foo = function (a){
a = a || '默认值'
}
foo()
const foo = (a='默认值') => {
}
foo()
7. rest参数
const foo = (a, b, ...c) => {
}
foo(1,2,3,4,5,6,7)
8.ES6类
class Person{
sex = '男'
fav = '跳'
constructor(name, age){
this.name = name;
this.age = age;
}
show(){
}
eat(){
}
static foo(){
}
}
9.ES6类的继承
class Stu extends Person {
constructor(name, age ,skill){
super(name, age)
this.skill = skill
}
showName(){
}
}
10. es6模块化
规定: 1. 一个js文件就是一个模块 2.模块之间存在相互依赖关系
使用1: export可以导出多次
导出:
export 数据
export 函数
export 对象
export{数据, 函数, 对象}
导入:
import {} from '模块路径'
使用2: export default 一个模块中只能用一次
导出
export default {数据, 函数, 对象}
导入:
import 自定义对象名 from '模块路径'