ES6基本语法

ES6

一、let、const

let:ES6中新增的用于声明变量的关键字

  • let声明的变量只在所处于的块级有效{}
  • 不存在变量提升
  • 暂时性死区

const:声明量,常量就是值(内存地址)不能变化的量

  • 具有块级作用域
  • 声明常量时必须赋值
  • 常量赋值后,值不能修改

二、解构赋值

ES6中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构。

对象解构

三、箭头函数

ES6中新增的定义函数的方式

()=>{}ES6基本语法

  • 在箭头函数中,如果函数体中只有一句代码,并且代码的执行结果就是函数的返回值,函数体大括号可以省略.ES6基本语法
  • 如果形参只有一个,可以省略小括号

ES6基本语法

箭头函数不绑定this关键字,箭头函数中的this,指向的是函数定义位置的上下文this

四、剩余参数

剩余参数语法允许我们将一个不定数量的参数表示为一个数组

ES6基本语法

剩余参数和解构配合使用

五、扩展运算符

将数组或者对象转为用逗号分隔的参数序列

ES6基本语法

扩展运算符的应用

1)合并数组

ES6基本语法

2)将类数组或可遍历对象转换为真正的数组

ES6基本语法

六、模板字符串

ES6新增的创建字符串的方式,使用反引号定义

ES6基本语法

  • 模板字符串可以解析变量ES6基本语法

  • 模板字符串可以换行

    ES6基本语法

  • 在模板字符串中可以调用函数

    ES6基本语法

七、Map和Set

ES6提供了新的数据结构Set,它类似于数组,但是成员的值都是唯一的,没有重复的值。

创建set

ES6基本语法

初始化

ES6基本语法

四个操作方法:

add(value):添加某个值,返回 Set 结构本身。

delete(value):删除某个值,返回一个布尔值,表示删除是否成功。

has(value):返回一个布尔值,表示该值是否为Set的成员。

clear():清除所有成员,没有返回值。

Map 是 ES6 中新增的数据结构,Map 类似于对象,但普通对象的 key 必须是字符串或者数字,而 Map 的 key 可以是任何数据类型.

Map 实例的属性和方法如下:

size:获取成员的数量
set:设置成员 key 和 value
get:获取成员属性值
has:判断成员是否存在
delete:删除成员
clear:清空所有

八、symbol

ES6引入的一种新的原始类型Symbol,表示独一无二的值

Symbol的特点:
  • Symbol属性对应的值是唯一的,解决命名冲突问题
  • Symbol值不能与其他数据进行计算,包括同字符串拼串
  • for in, for of遍历时不会遍历symbol属性

九、迭代器(iterator)

迭代器(iterator)是一种接口,为各种不同的数据结构提供统一的访问机制。

  • 通过Symbol.iterator来创建迭代器,通过迭代器的next()来获取迭代后的结果
  • 迭代器是用于遍历数据结构的指针

十、生成器(generator)

它与普通函数的区别:

  • function后面 函数名之前有个*
  • 只能在函数内部使用yield表达式,让函数挂起

概念:
1、ES6提供的解决异步编程的方案之一
2、Generator函数是一个状态机,内部封装了不同状态的数据,
3、用来生成遍历器对象
4、可暂停函数(惰性求值), yield可暂停,next方法可启动。每次返回的是yield后的表达式结果

上一篇:Hive sql 常用命令2


下一篇:JavaScript高程设计第三章---语言基础