【ES6基础】四、内置对象扩展,函数对象扩展

内置对象的扩展

1.字符串的扩展

1.1模板字符串

.反引号 ``
.通过${}进行字符串拼接
.${}中不能跟二元表达式,如if等

【ES6基础】四、内置对象扩展,函数对象扩展

1.2字符串的相关方法

.repeat()//对字符串进行重复操作

【ES6基础】四、内置对象扩展,函数对象扩展

.includes(),startsWith() ,endsWith()//和indexOf()差不多,indexOf()返回字符串的下标或-1,这三个返回true或false

【ES6基础】四、内置对象扩展,函数对象扩展

2.数组的扩展

.Array.from()//把类数组转换为数组
【ES6基础】四、内置对象扩展,函数对象扩展
.Array.of()//用来创建数组,等同于[]
.find()//返回第一个符合条件的元素,不符合undefined
.findIndex()//返回第一个符合条件元素的下标,不符合-1

【ES6基础】四、内置对象扩展,函数对象扩展

.fill():对数组进行填充

【ES6基础】四、内置对象扩展,函数对象扩展

扩展es5中数组的方法:
.map(function(item,index){})//把回调函数的返回值放在新数组中
【ES6基础】四、内置对象扩展,函数对象扩展
.forEach(function(item,index){})//遍历
.filter()//筛选集合中满足条件的元素,在组成新集合
【ES6基础】四、内置对象扩展,函数对象扩展
.every()//集合中每一项都要满足条件,才返回true
.some()//集合中只要有一个满足条件,返回true
.reduce()//累加器的作用 ,可设定初始值

3.对象的扩展

3.1对象的简洁表示法

.key值与value值一样

【ES6基础】四、内置对象扩展,函数对象扩展

【ES6基础】四、内置对象扩展,函数对象扩展

3.2相关方法

.object.is()//判断两个数据是否张的一样,返回true或false
【ES6基础】四、内置对象扩展,函数对象扩展
.object.assign(目标对象,源对象)//将源对象中所有可枚举的属性,合并复制到目标对象
【ES6基础】四、内置对象扩展,函数对象扩展

4.扩展运算符
将一个数组转为用逗号分割的参数序列
(...)用于去除参数对象的所欲可比案例属性
【ES6基础】四、内置对象扩展,函数对象扩展
【ES6基础】四、内置对象扩展,函数对象扩展

函数的扩展

1.为函数参数指定默认值
【ES6基础】四、内置对象扩展,函数对象扩展
2,函数的rest参数,用于获取函数的多余参数,这样就不需要使用arguments对象(实参的集合)了;rest参数搭配的变量是一个数组,该变量将多余的参数放入数组中
.rest参数之前可以传其他参数,但是后面不可以

【ES6基础】四、内置对象扩展,函数对象扩展

3.箭头函数,常用于回调函数中
.没有参数
.一个参数
【ES6基础】四、内置对象扩展,函数对象扩展
.多个参数,需要用小括号括号括住参数
【ES6基础】四、内置对象扩展,函数对象扩展
.函数体内有多行代码,需要用大括号括住代码
【ES6基础】四、内置对象扩展,函数对象扩展
.返回值为对象函数,需要用小括号括住
【ES6基础】四、内置对象扩展,函数对象扩展
.注意事项
a.箭头函数体内没有自己的this对象,其内部的this就是定义时所在的环境对象,而不是使用时所在的环境对象;所以不能使用call,apply,bind去
改变其内部的this指向
【ES6基础】四、内置对象扩展,函数对象扩展
b.箭头函数体内没有arguments对象,如果要用,可以用rest参数代替
【ES6基础】四、内置对象扩展,函数对象扩展
c.不可以当做构造函数(即不可以new一个函数),否则会抛出一个错误
【ES6基础】四、内置对象扩展,函数对象扩展
d.不能当做Generator函数(待补)