Es6中字符串,数值,函数,数组,对象的扩展以及新增方法。

字符串

1、replaceAll(),相比于replace,会一次性替换所有的匹配。

2、includes(),返回布尔值,表示是否找到了参数字符串。

3、repeat(),方法返回一个新的字符串,表示将原字符串重复n次。

4、模板字符串

数值

1、Number.isFinite()是用来检查一个数值是否为有限的,即不是Infinity,

2、Number.isNaN()是用来检查一个值是否为NaN

3、Math.trunc() 方法用于去除一个数的小数部分,返回整数部分

函数

1、函数的参数可以设置默认值

2、箭头函数

    1、箭头函数可不用return,直接返回。

  2、箭头函数中的this对象,就是定义时所在的对象,而不是使用时所在的对象 

  3、不能使用arguments对象,该对象在函数体内部存在,如果要用,可以用rest参数代替

什么时候不用箭头函数?
1,定义字面量里面的方法的时候最好不用箭头函数
2,在对象原型上增加方法时,不要用箭头函数。否则会得到不正确的山下文。
 

数组

1、...   扩展运算符,...[],将一个数组转为用逗号分隔的参数序列,这样就可以替代apply方法了。
// ES5 的写法
Math.max.apply(null, [14, 3, 77])

// ES6 的写法
Math.max(...[14, 3, 77])

 

 
2、Array.from()
将两类对象转为真正的数组,类似数组的对象和可遍历的对象
Array.from('hello')
// ['h', 'e', 'l', 'l', 'o']

let namesSet = new Set(['a', 'b'])
Array.from(namesSet) 

 

3、Array.of()方法用于将一组值,转换为数组。
4、Array.find()方法用于找出第一个符合条件的数组成员,参数是一个回调函数,如果没有符合条件的成员,则返回undefined。Array.find()方法用于找出第一个符合条件的数组成员的位置,如果所有的成员都不符合条件,则返回-1。
5、fill方法使用给定值,填充一个数组。

6、includes(),方法返回一个布尔值,表示某个数组是否包含给定的值。

7、 数组实例的flat,flatMap()

falt()默认会把拉平一层的数组,flat(2)表示要拉平2层的嵌套数组。

如果不管有多少层嵌套,都要转成一维数组,可以用Infinity关键字作为参数。list.flat(Infinity)。

faltMap该方法返回一个新数组,不改变原数组。只能展开一层

8、数组的空位,处理,es6中会将空位统一转为undefined

对象:

1、扩展运算符

2、链式判断运算符

对象新增的方法

1. Object.is(A,B)

两个值是否是严格相等,解决 === 在处理NaN不等于自身的情况。和=== 比较的方法差不多。
所以,比较对象的时候,意味着每个对象的引用地址是相同的

2. Object.assign(target,source1,source2),

将源对象(source)的所有可枚举属性,复制到目标对象上。
at:1 、如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性。
2、如果参数不是对象会先转成对象,然后返回,如果参数只是源对象的位置,无法转为对象时会跳过。
3、由于null和undefined无法转化为对象,若他们作为参数就会报错,但是若不在目标对象的位置,此时不会报错。
4、只有字符串的包装对象,会产生可枚举的实际意义的属性,那些属性则会被拷贝。例如:const obj = Object.assign({},1,true,'abc'); 此时obj为{ "0": "a", "1": "b", "2": "c" }.
5、Object.assign()拷贝得到的是这个对象的引用。不能拷贝继承属性。是浅拷贝。
6、Object.assign()可以用来处理数组,但是会把数组视为对象,Object.assign([1,2,3],[4,5]) => [4,5,3] 
常见的用途:
1、为对象添加属性,
2、为对象添加方法,
3、克隆对象
4、合并多个对象
5、为属性指定默认值
 
3. Object.getOwnPertyDescriptors()方法会返回某个对象属性的描述对象。
4. Object.setPrototypeOf(object, prototype)用来设置对象的原型对象。
5. Object.setPrototypeOf(object)用来读取对象的原型属性
 

这些较为常用:

6. Object.keys()方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键名。
7 . Object.values() 方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的值。
8 . Object.entries() 方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历键值对数组。可将对象转为真正的Map结构。
9 . Object.fromEntries() 方法是Object.entries()的逆操作,用于将一个键值对数组转为对象。该方法的主要目的是将键值对的数据结构还原为对象。特别合适将Map结构转为对象。例如:Object.fromEntries([['foo', 'bar'], ['baz', 42]]) // { foo: "bar", baz: 42 }
 

 

posted @ 2021-04-23 14:25  香香香。。。。香菜  阅读(304)  评论(0编辑  收藏  举报