ES6(模板字符串,三点运算符,Symbol,iterator接口)
模板字符串
作用:简化字符串的拼接
模板字符串必须用``包含
变化的部分使用${xxx}包含
对象的简写方式
同名的属性可以省略不写
可以省略函数的function
箭头函数
箭头函数的特点
箭头函数没有自己的this,箭头函数的this不是调用的时候决定的,而是在定义的时候处在的对象就是它的this
扩展理解:
箭头函数的this看外层的是否有函数
如果有,外层函数的this就是内部箭头函数的this
如果没有,则this是window
形参的情况
没有形参的时候
let fun1 = () => console.log(a);
fun1();只有一个形参的时候
let fun2 = a => console.log(a);
fun2('aaa');
3.两个及两个以上的形参的时候 ()不能省略
let fun3 = (x,y) => console.log(a);
fun3(35,52);
函数体的情况
函数体只有一条语句或者是表达式的时候{}可以省略------>会自动但会语句执行的结果或者是表达式的结果
函数体不止一条语句或者是表达式的情况下{}不可以省略
三点运算符
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新增的原始数据类型
特点:
Symbol属性值对应的值是唯一的,解决命名冲突问题
Symbol值不能与其他数据进行计算,包括同字符串拼串
3.for in,for of遍历时不会遍历symbol属性
使用:
调用Symbol函数得到symbol值
传参标识
内置Symbol值
除了定义自己使用的Symbol值以外,ES6还提供了11个内置的Symbol值,指向语言内部使用的方法
Symbol.iterator
对象的Symbol.iterator属性,指向该对象的默认遍历器方法
iterator接口
将iterator接口部署到指定的数据类型上,可以使用for of循环遍历
数组,字符串,arguments,set容器,map容器
ES6(模板字符串,三点运算符,Symbol,iterator接口)的更多相关文章
- es6模板字符串使用使${} 来包裹一个变量或者一个表达式
es6模板字符串使用使${} 来包裹一个变量或者一个表达式 2019-04-28 14:33:54 Gabriel_wei 阅读数 1774 收藏 更多 分类专栏: 前端 版权声明:本文为博主原 ...
- ES6模板字符串及字符串的扩展方法
一.ES6模板字符串 传统定义字符串的方式是: const str='hello es2015,this is a string' ES6新增了一种定义字符串的方式用反引号进行标识 const str ...
- ES6模板字符串之标签模板
首先,模板字符串和标签模板是两个东西. 标签模板不是模板,而是函数调用的一种特殊形式.“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数. 但是,如果模板字符串中有变量,就不再是简单的调用了,而 ...
- ES6模板字符串
ES6支持模板字符串,简单写法如下 //html界面 <!DOCTYPE html> <html> <head> <meta charset="ut ...
- ES6 模板字符串Template String
1. 模板字符串简介: 顾名思义,模板字符串是用来定义一个模板是使用的,就像Vue,React中的template语法. 首先,先来了解一下template string的基本用法: 在ES5中,我们 ...
- ES6模板字符串【${}配合反单引号一起用】
先看看JavaScript中两个字符串的效果,就很容易知道模板字符串是个啥东西,其实一点也不新鲜.高级编程中,例如java里面的string.format就是干这个事情,诸如此类. 1. 概念理解 A ...
- es6模板字符串 问题记录
自古无图无真相,望各位博主在条件允许的情况下,配张图片吧! 界面是用join拼接的,当循环td的时候会产生一个空串,界面就会出现一个逗号, 虽然功能块算实现了,不过始终美中不足,然后想到的办法是替换所 ...
- es6 模板字符串
模板字符串 提供构造字符串的语法糖,在 Prel/python 等语言中也都有类似特性. 1.反引号模板,可以换行 2.反引号模板,可以嵌套 用+``来嵌套 好处:语法更加简洁 var name=&q ...
- ES6 -- 模板字符串(反单引号)
1)直接使用变量 // before var str = 'test'; console.log(str + "123"); // now var str = 'test'; co ...
- es6新语法系列,查找字符串,模板字符串
一.模板字符串: ES6引入了一种新型的字符串字面量语法,我们称之为模板字符串(template strings).除了使用反撇号字符 ` 代替普通字符串的引号 ' 或 " 外,它们看起来与 ...
随机推荐
- PTA 列车调度 (25分)
PTA 列车调度 (25分) [程序实现] #include<bits/stdc++.h> using namespace std; int main(){ int num,n; cin& ...
- linux安全 设置登录失败次数后,拒绝登录
设置登录失败3次后锁定用户300秒可以通过配合文件/etc/pam.d/sshd配置如下 在第一行 #%PAM-1.0 的下一行添加1a auth required pam_tally2.so den ...
- [atAGC054F]Decrement
令$a_{i}$和$b_{i}$分别为$A_{i}$和$B_{i}$减少的值,考虑判定$\{a_{i}\},\{b_{i}\}$能否被得到 结论:$\{a_{i}\},\{b_{i}\}$能否被得到当 ...
- [loj3256]火灾
将问题差分,即求$\sum_{i=1}^{r}S_{i}(t)-\sum_{i=1}^{l-1}S_{i}(t)$,由于两者类似,不妨考虑前者 构造矩阵$A_{i,j}=S_{j}(i)-S_{j}( ...
- 权限树的制作(menu)
原来demo 实体类:get.set 1.使用递归的方式将数据查询出来. 2.为了减少数据库交互,一次查询所有数据,遍历集合,然后先判断父节点,如果不是父节点,用原集合重新遍历 3.map形式减少遍历 ...
- C/C++ Qt Tree与Tab组件实现分页菜单
虽然TreeWidget组件可以实现多节点的增删改查,但多节点操作显然很麻烦,在一般的应用场景中基本上只使用一层结构即可解决大部分开发问题,TreeWidget组件通常可配合TabWidget组件,实 ...
- BehaviorTree.CPP行为树BT的选择节点(四)
Fallback 该节点家族在其他框架中被称为"选择器Selector"或"优先级Priority". 他们的目的是尝试不同的策略,直到找到可行的策略. 它们具 ...
- FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅰ
众所周知,tzc 在 2019 年(12 月 31 日)就第一次开始接触多项式相关算法,可到 2021 年(1 月 1 日)才开始写这篇 blog. 感觉自己开了个大坑( 多项式 多项式乘法 好吧这个 ...
- Codeforces 891D - Sloth(换根 dp)
Codeforces 题面传送门 & 洛谷题面传送门 换根 dp 好题. 为啥没人做/yiw 首先 \(n\) 为奇数时答案显然为 \(0\),证明显然.接下来我们着重探讨 \(n\) 是偶数 ...
- Matlab 调用 Python 脚本
Matlab 调用 Python 脚本 最近尝试在 Matlab 环境中调用 Python 脚本,这里总结下碰到的几个问题. 1. Python 模块加载 在 Matlab 函数中,想要将 Pytho ...