导图社区 编程基础15:ECMA Script6
编程基础15:ECMA Script6知识总结,包括ES6相关概念、ES6新增语法、ES6 的内置对象扩展等等。
这是一篇关于考研思维导图——外科总论的思维导图,包含烧伤、 外科营养、外科感染、水、电解质、酸碱平衡失调等。
这是一篇关于考研—血管外科疾病的思维导图,血管外科疾病包括多种类型的疾病,根据血流特点可分为动脉系统疾病和静脉系统疾病。
这是一篇关于考研—胸部外科疾病的思维导图,包含肋骨骨折、 气胸、血胸、 创伤性窒息肺癌、纵隔疾病等。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
编程基础15:ECMA Script6
1:ES6相关概念
什么是ES6
ES 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范
发展
2015年6月 : ES2015
2016年6月 : ES2016
2017年6月 : ES2017
2018年6月 : ES2018
为什么使用 ES6 ?
每一次标准的诞生都意味着语言的完善,功能的加强
变量提升特性增加了程序运行时的不可预测性
语法过于松散,实现相同的功能,不同的人可能会写出不同的代码
2:ES6新增语法
let 声明变量的关键字
使用let关键字声明的变量具有块级作用域
使用let关键字声明的变量才具有块级作用域,使用var声明的变量不具备块级作用域特性。
使用let关键字声明的变量没有变量提升
防止循环变量变成全局变量
使用let关键字声明的变量具有暂时性死区特性
const 常量
声明常量,常量就是值(内存地址)不能变化的量
具有块级作用域
声明常量时必须赋值
常量赋值后,值不能修改
如果是基本数据类型,不能更改值,如果是复杂数据类型,不能更改地址值
let、const、var 的区别
使用 var 声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象
使用 let 声明的变量,其作用域为该语句所在的代码块内,不存在变量提升
使用 const 声明的是常量,在后面出现的代码中不能再修改该常量的值
解构赋值
ES6中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构
解构赋值就是把数据结构分解,然后给变量进行赋值
如果结构不成功,变量跟数值个数不匹配的时候,变量的值为undefined
数组解构用中括号包裹,多个变量用逗号隔开,对象解构用花括号包裹,多个变量用逗号隔开
利用解构赋值能够让我们方便的去取对象中的属性跟方法
数组解构
let [a, b, c] = [1, 2, 3]; console.log(a)//1 console.log(b)//2 console.log(c)//3
对象解构
let person = { name: 'zhangsan', age: 20 }; let { name, age } = person;
箭头函数
() => {} //():代表是函数; =>:必须要的符号,指向哪一个代码块;{}:函数体 const fn = () => {}//代表把一个函数赋值给fn
函数体中只有一句代码,且代码的执行结果就是返回值,可以省略大括号
如果形参只有一个,可以省略小括号
箭头函数不绑定this关键字,箭头函数中的this,指向的是函数定义位置的上下文this
剩余参数
剩余参数语法允许我们将一个不定数量的参数表示为一个数组并获取
function sum (first, ...args)
3:ES6 的内置对象扩展
Array 的扩展方法
扩展运算符
扩展运算符可以将数组或者对象转为用逗号分隔的参数序列
let ary = [1, 2, 3]; ...ary // 1, 2, 3 console.log(...ary); // 1 2 3,相当于下面的代码 console.log(1,2,3);
扩展运算符可以应用于合并数组
将类数组或可遍历对象转换为真正的数组
构造函数方法:Array.from()
将伪数组或可遍历对象转换为真正的数组
实例方法:find()
用于找出第一个符合条件的数组成员,如果没有找到返回undefined
实例方法:findIndex()
用于找出第一个符合条件的数组成员的位置,如果没有找到返回-1
实例方法:includes()
判断某个数组是否包含给定的值,返回布尔值。
String 的扩展方法
模板字符串
ES6新增的创建字符串的方式,使用反引号定义
模板字符串中可以解析变量
模板字符串中可以换行
在模板字符串中可以调用函数
startsWith()
表示参数字符串是否在原字符串的头部,返回布尔值
endsWith()
表示参数字符串是否在原字符串的尾部,返回布尔值
repeat()
repeat方法表示将原字符串重复n次,返回一个新字符串
Set 数据结构
ES6 提供了新的数据结构 Set
它类似于数组,但是成员的值都是唯一的,没有重复的值
Set本身是一个构造函数,用来生成 Set 数据结构
Set函数可以接受一个数组作为参数,用来初始化。
Set 结构的实例与数组一样,也拥有forEach方法,用于对每个成员执行某种操作,没有返回值。
附加内容
函数的扩展
函数参数的默认值
需要一个参数有默认值
最好把该参数作为尾参数
因为只有尾参数才可以省略
数值的扩展
Number
Number.isFinite()
Number.isNaN()
Number.parseInt()
Number.parseFloat()
Number.isInteger()
字符串的扩展
includes
startsWith
endsWith
repeat
数组的扩展
数组相关的遍历方法
forEach
map
filter
some
every
reduce
find
findIndex
Module
import
按需加载
加载所有
加载默认
导出默认
按需导出
export
async 函数
基本语法
错误处理
Promise
回调函数的问题
Promise 的含义
基本用法
then() 和 catch()
Promise.all()
Promise.race()