1.0 ES6语法糖 [重点]
1.1数组的解构赋值
// 声明多个变量
let [a,b,c] = [1,2,3]
let a=1,b=2;
// 交换数值
[a,b] = [b,a]
2
1.12 函数的参数结构


1.2对象的解构

对象存在键值对,如果需要解构对象,你需要使用对象的键名为变量名
let data = {
code:200,
msg:'哥你请求通了',
dataList:{
res:[],
data:{}
}
}
let {需要结构的键名} = 需要结构的对象
let {code,dataList} = data
1.3 展开运算符
字符串的展开
// 字符串的展开
const str = 'hello world!'
console.log(...str); h e l l o w o r l d !
console.log([...str]); // 相当于split
console.log({ ...str });
数组的展开
// 数组的展开
const arr = [1, 2, 3, 4, 5]
const arr1 = [666, 666, 66, 5, 777]
console.log(...arr); 1 2 3 4 5
console.log([...arr]); // 数组的浅拷贝
console.log([...arr, ...arr1]); // 合并数组
const list = document.querySelectorAll('ul li')
console.log('list', [...list]); // 将伪数组转为数组
对象的展开
// 对象的展开
const obj = {
name: '小明',
age: 66,
like: '金花宝宝'
}
// console.log(...obj); // 报错
// console.log([...obj]);// 报错
console.log({ ...obj }); // 浅拷贝
console.log({ ...obj, ...{ name: '二狗', sex: '男' }, phone: 123123 }); // 对象的合并
1.4 模板字符串
`${xxx}`
1.5 对象简明写法
对象的简明写法1:
// 如果对象中键名与键值(变量)是一样的,可以简写成一个
let name = '张无忌'
const data = [123]
const obj ={
name,
data,
}
对象的简明写法2:
// 对象中的方法(函数),可以简写,去掉:及function
const obj = {
fn:function(){
// 函数体
},
// 简写为:
fn(){
// 函数体
}
}
2.0 class类
2.1 什么是类?
具有相同特征的一类事物的抽象
2.2 类的实现
1、使用class关键字
2、类的动态属性定义在构造器中(constructor),如果没有定义构造器,浏览器会自动生成一个空的构造器
3、类的方法直接定义在类种,自动挂载到原型对象上
4、静态方法以static关键字开头,只能构造函数自己调用,实例对象不可以调用
2.3 类的继承
1、类的继承通过关键字extends 来实现继承关系
2、子类必须在构造器中调用关键字super(),super就代表父类、超类、基类
3、子类的动态属性需在调用父类super之后
3.0 es6的模块化
模块化优点:【重点】
解决命名冲突,易于维护,责任单一
模块化的特点:【了解】
*一个JS文件,就是一个独立的模块,模块之间,可以相互地导入和导出*。
语法:
import : 用于导入其他模块提供的功能
export : 用于暴露该内容,以便其他地方导入
写法一:
导出:
export 你要导出的内容1;
export 你要导出的内容2;
export 你要导出的内容3;
export 你要导出的内容4;
导入:
import { 你要导入内容1,你要导入内容2,你要导入内容3,... } from '路径名/文件名'
写法二:
导出 :
export default 你要导出的内容
导入 :
import 变量名 from '路径名/文件名'

#a.js 定义需要暴露的内容
const data = 100
export default { data, isShow: true }
#b.js 引入需要使用的内容
// 默认导出
import 变量 from './a.js'
console.log(变量);
#在html文件中引入b.js
<script src="./module/b.js" type="module"></script>
# 一定要记得加上type 为 module
# 启动时要用虚拟服务器




![[大二下]手把手1小时下载Pandoc](https://img-blog.csdnimg.cn/f16cfd7012184aa995443bcb3558d6ba.png)













