首页>>新闻中心>>建设知识

成都网站建设一起设计吧-ES6的一些方法

来源: 本站    发布时间: 2020-04-14 22:10    阅读次数:

Let声明的变量会在其相应的代码块中建立一个暂时性死区,直至变量声明。

Let const都能够声明块级作用域,用法和var是类似,let的特点不会变量提升;

Const声明常量,一旦声明,不可更改,而且常量必须初始化赋值。

Const虽然是常量,不允许修改默认赋值,但如果定义的是对象Object,那么可以修改对象内部的属性值。

constlet的异同点

相同点:constlet都是在当前块内有效,执行到块外会被销毁,也不存在变量提升(TDZ),不能重复声明。

不同点:const不能再赋值,let声明的变量可以重复赋值。

ES6以前的UndefinedNullBooleanNumber以及String六种,现在新加了Symbol类型

可以通过调用 Symbol() 方法将创建一个新的 Symbol 类型的值,这个值独一无二,不与任何值相等。

字符串是JavaScript中基本类型之一,应该算是除了对象之外是使用最为频繁的类型吧,字符串中包含了例如substrreplaceindexOf,slice等等诸多方法,ES6引入了模板字符串的特性,用反引号来表示,可以表示多行字符串以及做到文本插值(利用模板占位符)。

includes(str, index):如果在字符串中检测到指定文本,返回true,否则false

startsWith(str, index):如果在字符串起始部分检测到指定文本,返回true,否则返回false

endsWith(str, index):如果在字符串的结束部分检测到指定文本,返回true,否则返回false

如果你只是需要匹配字符串中是否包含某子字符串,那么推荐使用新增的方法,如果需要找到匹配字符串的位置,使用indexOf()

普通函数:

1、函数作为全局函数被调用时,this指向全局对象

2、函数作为对象中的方法被调用时,this指向该对象

3、函数作为构造函数的时候,this指向构造函数new出来的新对象

4、还可以通过callapplybind改变this的指向

箭头函数:

1、箭头函数没有this,函数内部的this来自于父级最近的非箭头函数,并且不能改变this的指向。

2、箭头函数没有super

3、箭头函数没有arguments

4、箭头函数没有new.target绑定。

5、不能使用new

6、没有原型

7、不支持重复的命名参数。

MapSet都叫做集合,但是他们也有所不同。Set常被用来检查对象中是否存在某个键名,Map集合常被用来获取已存的信息。

Set是有序列表,含有相互独立的非重复值。

ArraySet对比

都是一个存储多值的容器,两者可以互相转换,但是在使用场景上有区别。如下:

ArrayindexOf方法比Sethas方法效率低下

Set不含有重复值(可以利用这个特性实现对一个数组的去重)

Set通过delete方法删除某个值,而Array只能通过splice。两者的使用方便程度前者更优

Array的很多新方法mapfiltersomeevery等是Set没有的(但是通过两者可以互相转换来使用)

ObjectMap对比

Object是字符串-值,Map是值-

Object键为string类型,Map的键是任意类型

手动计算Object尺寸,Map.size可以获取尺寸

Map的排序是插入顺序

Object有原型,所以映射中有一些缺省的键。可以理解为Map=Object.create(null)

 

ES6给数组添加了几个新方法:find()findIndex()fill()copyWithin()


一起设计吧
下一篇: ES6一些新的方法
BACK