es6 笔记

说明
ECMAScript6新的JavaScript标准

变量声明
let
1 let声明的关键字和var声明基本一致
2.let声明的关键字是局部作用域,只对一对{}中启用
lf switch for 都可以形成局部作用域

    3. let不会变量提升
    4. let在同一个作用域不能重复声明

const
    1和let基本一致(局部,不会变量提升,不能重复声明)
    2声明必须赋值
    3声明的数据不能修改
    4建议变量名大写

遍历
01 for(let s of str){ console.log(s);}
02 es5的trim()方法
可以移除两端的空格

03 es6 方法  repeat
    用

04 es6 查找是否包含
    includes  是否包含返回true跟false
    indexOf  lastIndeOf  下标或者-1

检测
endsWith以xxx结尾 .startwidth 以xxx为开头

填充

字符串模板
`` ${}定义js
可以随意换行,可以随意使用符合

字符串
检查跟填充
去重

函数参数
默认参 拓展参数 不定参数

数组的解构
01数组解构:就是把数组解析为单个变量
02通过逗号跳过
03…接受剩余值
04可以给默认值
05快速交换变量

数组高阶
sort排序
ES6新增
find查找符合条件的元素
findIndex 查找符合条件元素的下标

filter过滤不符合的元素 返回true保留 返回false过滤
forEach遍历
    forEach(function(item,index,self))
    item当前遍历的元素
    index当前的下标
    self被遍历的数组

map映射
reduce累计
    reauce(function(a,b))
    a 上一次返回的结果
    b 当前遍历的元素

some有一个
every 每一个

同步给异步
同步 按属性执行代码,上一步不结束,下一步不开始
异步 先执行主线程代码,再执行其他代码
实现异步 1回调函数,2时间响应,3promise承诺 ,4订阅和发布模式

新增数据类型
set 不重复的数组 常用来去重
add 添加
delete删除
clear清空
size大小
has检测
[…new Set(arr)]

map任意键的对象
    set(key,value) 设置
    get(key) 获取
    delete删除
    size大小
    clear清空

weakSet值都是引用类型的set
weakMap键都是引用类型
symbol唯一符合(对象的键)

迭代类型
可以通过for of 遍历的对象都是可迭代对象
String字符串
Array数组
Set集合
Map图

for(let v of myset)
for(let k of myArr.keys())
for(let v of myArr.values())
for(let [k,v] of myArr.entries())


typeof class 结果是Function 类的本质是函数
class Block{}
构造函数
constructor(){} 实列化的时候 new关键字调用的就是构造函数
super() 调用父类的构造函数
extends 继承父类的方法
static 类的静态属性和方法
类的this指向的是它的实列(也就是new出来的对象)

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}


导入
    <script type="module">
    导入默认
        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()

Object.defimeProperty

proxy代理对象

Promise承诺
模板
var p = new Promise((resolve,reject)=>{
// 异步操作
resolve(data)
reject(err)
})

有三个状态状态变化就不可逆
    pendding
    resolved
    rejected

实例p
    .then(res=>{})
        回调函数获取resolved 返回的结果
        返回一个新的promise实例

    .catch(err=>{})
        获取rejected的原因


解决
    1. 异步操作
    2. 回调地狱(层级过深)

all全部
    所有promsie都resolve,all才执行resolve

race 赛跑(返回最先resolve结果)
    拿到最到的resolve结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值