• ES6(模板字符串,三点运算符,Symbol,iterator接口)


    模板字符串

    作用:简化字符串的拼接

    • 模板字符串必须用``包含

    • 变化的部分使用${xxx}包含

    对象的简写方式

    • 同名的属性可以省略不写

    • 可以省略函数的function

    箭头函数

    箭头函数的特点

    • 箭头函数没有自己的this,箭头函数的this不是调用的时候决定的,而是在定义的时候处在的对象就是它的this

    • 扩展理解:

      • 箭头函数的this看外层的是否有函数

      • 如果有,外层函数的this就是内部箭头函数的this

      • 如果没有,则this是window

    形参的情况

    1. 没有形参的时候

          let fun1 = () => console.log(a);
      fun1();
    2. 只有一个形参的时候

          let fun2 = a => console.log(a);
      fun2('aaa');

      3.两个及两个以上的形参的时候 ()不能省略

              let fun3 = (x,y) => console.log(a);
      fun3(35,52);

    函数体的情况

    1. 函数体只有一条语句或者是表达式的时候{}可以省略------>会自动但会语句执行的结果或者是表达式的结果

    2. 函数体不止一条语句或者是表达式的情况下{}不可以省略

    三点运算符

    1.rest(可变)参数

      用来取代arguments ,但比arguments灵活,只能是最后部分形参参数

    2.扩展运算符

    promise对象

    1.理解

    • promise对象:代表了未来某个将要发生的时间(通常是一个异步操作)

    • 有了promise对象,可以将异步操作以同步的流程表达出来,避免了层层嵌套的回调函数(俗称回调函数)

    • ES6的Promise是一个构造函数,用来生成promise实例

    2.使用promise对象的基本步骤

    # 创建promise对象
    let promise = new Promise((resolove,reject) => {
    //初始化状态为pending
    //执行异步操作
    if(异步操作成功){
    resolve(value); //修改promise的状态为fullfilled
    }else{
    reject(errMsg); //修改promise的状态为rejected
    }
    })
    # 调用promise的then()
    promise.then(function(
       result => console.log(result),
       erroring => alert(erroring)
    )

    3.promsie对象的3个状态

    • pending:初始化状态

    • fullfilled:成功状态

    • rejected:失败状态

    4.应用

    • 使用premise实现超试处理

    • 使用promise封装处理ajax请求

      let requset = new XMLHttpRequset();
      requset.onreadystatechange = function(){
      }
      request.responseType = 'json';
      requset.open('GET',url);
      requset.send();

    Symbol

    ES6新增的原始数据类型

    特点:

    1. Symbol属性值对应的值是唯一的,解决命名冲突问题

    2. Symbol值不能与其他数据进行计算,包括同字符串拼串

    3. 3.for in,for of遍历时不会遍历symbol属性

    使用:

    1. 调用Symbol函数得到symbol值

    2. 传参标识

    3. 内置Symbol值

      • 除了定义自己使用的Symbol值以外,ES6还提供了11个内置的Symbol值,指向语言内部使用的方法

        Symbol.iterator

      • 对象的Symbol.iterator属性,指向该对象的默认遍历器方法

    iterator接口

      将iterator接口部署到指定的数据类型上,可以使用for of循环遍历

      数组,字符串,arguments,set容器,map容器

  • 相关阅读:
    JavaScript-循环
    JavaScript-条件判断
    JavaScript-对象
    Vue快速入门
    Typora中的MarkDown语法
    (已解决)ERROR: In file './docker-compose.yml', service 'networks' must be a mapping not an array
    mac常用快捷键
    Python数据分析
    Python列表和元组
    Selenium工具爬取商品
  • 原文地址:https://www.cnblogs.com/yaokai729/p/11370160.html
Copyright © 2020-2023  润新知