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).除了使用反撇号字符 ` 代替普通字符串的引号 ' 或 " 外,它们看起来与 ...
随机推荐
- Linux usb 3. Host 详解
文章目录 1. 简介 2. Usb Core 驱动设备模型 2.1 Usb Device Layer 2.1.1 device (struct usb_device) 2.1.2 driver (st ...
- linux 入门系列-基础性知识
1:初探linux-基于centos7 运维和服务器硬件组合 两种登录方式:(1)-------root:管理员登录权限较高,不建议初学者使用格式: [root@centos7 jinlong]# ( ...
- 2021 数字四川创新大赛WriteUp
数字四川初赛+复赛wp Web easyphp http://111.9.220.114:50006/.index.php.swp 备份文件泄漏 <?php #error_reporting(0 ...
- 数据结构知识总结(STL整理)
重要知识点 1.基础知识 #include<bits/stdc++.h> //万能头文件 #include< algorithm > //包含sort函数 运用sort实现多关 ...
- 问题 Q: 最大的数
题目描述 小明和小红在打赌说自己数学学的好,于是小花就给他们出题了,考考他们谁NB,题目是这样的给你N个数 在这n个数之间添加N-1个*或+,使结果最大,但不可以打乱原顺序,请得出这个结果 如 1 3 ...
- vuex基础(vuex基本结构与调用)
import Vue from 'vue'; import Vuex from 'vuex'; Vue.use(Vuex); const modulesA = { state:{//状态 count: ...
- python实现直方图的应用
目录: (一)调节图片对比度(均衡化) (1)全局直方图均衡化------equalizeHist (2)自适应的局部的直方图均衡化------createCLAHE (二)图片的相似度比较 (三)直 ...
- .net工程师学习vue的心路历程(三)
vue cli3没记错的话是在2019年8月份yyx个人正式声明发布. 接下来就开始我们的vue cli3的方式创建vue项目.明白一点,vue cli3遵循的一个原则就是 "0配置&quo ...
- class动态样式绑定
字符串,数组,对象
- Atcoder Regular Contest 089 D - ColoringBalls(DP)
Atcoder 题面传送门 & 洛谷题面传送门 神仙题. 在下文中,方便起见,用 R/B 表示颜色序列中球的颜色,用 r/b 表示染色序列中将连续的区间染成的颜色. 首先碰到这一类计算有多少个 ...