ES6(全称ECMAScript6)
声明变量:var 、let 、const
var
在函数中使用var声明变量的时候,该变量是局部的
使用var能够对一个变量进行多次声明,后声明的变量会覆盖前面的变量声明
let
let与var基本一致,用作变量声明
let 在一对括号{}中形成局部作用域
let声明的变量不会变量提升
let不能重复声明变量(同一作用域)
const
与let一致(局部,不提升,不能重复声明)
声明必须赋值
赋值不能修改(值类型)
建议大写
数组的解构
- 数组解构:把数组解析为单个变量
- 通过逗号跳过
- …接收剩余值
- 可以给默认值
- 快速交换变量
module模板
导出
导出默认
function format(date){}
export defaut format
export default function format(date){}
导出
export function reverse(){}
导出变量
export const PRICE = 500;
先声明再导出
var name = “mumu”;
function say(){
console.log(“我的价格是”+PRICE)
}
export {name,say}
导入
导入默认
import format from ‘./相对路径’
// format可以和导出的时候不一致
导入
import {reverse} from ‘./相对路径’
// reverse要和源文件方法一致
导入别名
impot {reverse as r} rom ’./相对路径‘
默认和普通方法是一个文件
import format ,{reverse as r,PRICE,name,say} from ’./相对路径‘
导入所有
import * as utitls from ’文件地址‘
utils.reverse()
默认导出方法访问
utils.default()
类
typeof class
结果是 Function
类的本质是函数
模板
class Block{
}
构造函数
constructor(){}
实例化的时候 new关键字调用的就是构造函数
super()
调用父类的构造函数
新增数据类型
- set 不重复的数组
- map 任意键的对象
- weakSet 值都是引用类型的set
- weakMap 键都是引用类型
- symbol唯一符合 (对象的键)
同步和异步
同步:同步是按顺序从上至下阻塞式执行代码(上一行代码不执行完毕,下行是不会执行)
异步:异步是先执行主线程的代码,再执行其他线程(非阻塞式)
实现异步的方式
1、回调函数
2、事件响应
3、订阅发布模式
4、Promise
5、sync 和 await