模板字符串

作用:简化字符串的拼接

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

  • 变化的部分使用${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容器

ES6(模板字符串,三点运算符,Symbol,iterator接口)的更多相关文章

  1. es6模板字符串使用使${} 来包裹一个变量或者一个表达式

    es6模板字符串使用使${} 来包裹一个变量或者一个表达式 2019-04-28 14:33:54 Gabriel_wei 阅读数 1774  收藏 更多 分类专栏: 前端   版权声明:本文为博主原 ...

  2. ES6模板字符串及字符串的扩展方法

    一.ES6模板字符串 传统定义字符串的方式是: const str='hello es2015,this is a string' ES6新增了一种定义字符串的方式用反引号进行标识 const str ...

  3. ES6模板字符串之标签模板

    首先,模板字符串和标签模板是两个东西. 标签模板不是模板,而是函数调用的一种特殊形式.“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数. 但是,如果模板字符串中有变量,就不再是简单的调用了,而 ...

  4. ES6模板字符串

    ES6支持模板字符串,简单写法如下 //html界面 <!DOCTYPE html> <html> <head> <meta charset="ut ...

  5. ES6 模板字符串Template String

    1. 模板字符串简介: 顾名思义,模板字符串是用来定义一个模板是使用的,就像Vue,React中的template语法. 首先,先来了解一下template string的基本用法: 在ES5中,我们 ...

  6. ES6模板字符串【${}配合反单引号一起用】

    先看看JavaScript中两个字符串的效果,就很容易知道模板字符串是个啥东西,其实一点也不新鲜.高级编程中,例如java里面的string.format就是干这个事情,诸如此类. 1. 概念理解 A ...

  7. es6模板字符串 问题记录

    自古无图无真相,望各位博主在条件允许的情况下,配张图片吧! 界面是用join拼接的,当循环td的时候会产生一个空串,界面就会出现一个逗号, 虽然功能块算实现了,不过始终美中不足,然后想到的办法是替换所 ...

  8. es6 模板字符串

    模板字符串 提供构造字符串的语法糖,在 Prel/python 等语言中也都有类似特性. 1.反引号模板,可以换行 2.反引号模板,可以嵌套 用+``来嵌套 好处:语法更加简洁 var name=&q ...

  9. ES6 -- 模板字符串(反单引号)

    1)直接使用变量 // before var str = 'test'; console.log(str + "123"); // now var str = 'test'; co ...

  10. es6新语法系列,查找字符串,模板字符串

    一.模板字符串: ES6引入了一种新型的字符串字面量语法,我们称之为模板字符串(template strings).除了使用反撇号字符 ` 代替普通字符串的引号 ' 或 " 外,它们看起来与 ...

随机推荐

  1. storm启动报错: InvalidTopologyException(msg:Component: [mybolt] subscribes from non-existent stream: [default] of component [es-bolt])

    storm每一个bolt在emit之后需要把数据传递到下一个bolt,所以declareOUtputFields 一定要写 默认的情况下不用加streamId,如果加了streamId,后面的bolt ...

  2. 博主日常工作中使用的shell脚本分享

    前言: 今天给大家分享一篇在我工作中常用的一个shell脚本,里面有一些我们常用到的shell操作.该脚本用于本地电脑和服务器交互上,实现以下功能: 自动拉取自己个人电脑上的源码到服务器上yocto包 ...

  3. vi/vim 常用命令总结

    目录 Linux vi/vim编辑 vim键盘图 vim的三种模式 命令模式.输入模式.输出模式 vim使用实例 vi/vim按键说明 第一部分:一般模式可用的光标移动.复制粘贴.搜索替换等 第二部分 ...

  4. 行星万象表白墙微信小程序、社交微信小程序,后台完整,支持多区域运营,扫码体验。

    简介 中国目前大概有5000个表白墙,累计用户近3000万,是一个庞大的群体,但现在大都以微信朋友圈为基础进行信息中转,但是这种模式经营者和用户都不友好,尤其是经营者无法变现,用户无法公开评论,这些种 ...

  5. Java的初始化过程

    在刷题的过程中,时常会碰到关于Java中的类的初始化顺序的问题. 总结如下,便于以后复习: 初始化过程: 首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 然后,初始化子类 ...

  6. [atARC102F]Revenge of BBuBBBlesort

    定义以$i$为中心(交换$p_{i-1}$和$p_{i+1}$)的操作为操作$i$ 结论1:若执行过操作$i$,则之后任意时刻都无法执行操作$i-1$或操作$i+1$ 当执行操作$i$后,必然有$p_ ...

  7. [loj3367]装饼干

    先考虑如何判定一个$y$是否可行--从高位开始,记录这一位所需要的$2^{i}$数量$t$,若$y$的这一位为1,则$t+=x$,之后分两类讨论:1.$t\le a_{i}$,令$t=0$:2.$b& ...

  8. 语音合成论文翻译:2019_MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis

    论文地址:MelGAN:条件波形合成的生成对抗网络 代码地址:https://github.com/descriptinc/melgan-neurips 音频实例:https://melgan-neu ...

  9. Jmeter BlazeMeter实现web录制

      1. BlazeMeter安装和注册 BlazeMeter是一款与Apache JMeter兼容的chrome插件,采用BlazeMeter可以方便的进行流量录制和脚本生成,作为接口测试脚本编写的 ...

  10. CF1574D The Strongest Build

    考虑到有\(m\)个限制,可以考虑\(m+1\)个最大的答案,这样可以利用鸽笼原理得到答案. 这是一般做法. 但是这样的题目,我们发现\(n\)个操作都是独立的. 那么我们可以全部都选取最大,并以此调 ...