ES6常用(自用)

1.字符串

  • includes():是否找到了参数字符串。
  • startsWith():是否在原字符串的头部。
  • endsWith():是否在原字符串的尾部。
  • repeat():重复字符串。
  • padStart()、padEnd():补全字符串。
  • trimStart()、trimEnd() :删除头部或尾部空格。
  • Number.isFinite():一个数是否为有限。
  • Number.isNaN():一个值是否为NAN
  • Number.isInteger():判断一个数是不是整数。

2.数值

  • Math.trunc:用于去除一个数的小数部分,返回整数部分。
  • Math.sign:用来判断一个数到底是正数、负数、还是零。

3.函数

  • name:返回函数名
  • toString:以字符串形式返回函数体本身。
  • rest参数:把逗号隔开的值序列组合成一个数组

4.数组

  • 扩展运算符:数组或类数组对象展开成一系列用逗号隔开的值
1)复制数组 :解决数据拷贝问题
(2)合并数组:是浅拷贝。
(3)与解构赋值结合。
(4)字符串转数组
  • Array.from:将两类对象转为真正的数组:类似数组的对象 和可遍历 的对象
    类似数组的对象只必须有length属性
  • Array.of:用于将一组值,转换为数组。
  • find:用于找出第一个符合条件的数组成员

  • findIndex:返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1
  • fill:使用给定值,填充一个数组。
  • entries()keys()values()——用于遍历数组  (keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。)
  • includes:某个数组是否包含给定的值。
  • flat:用于将嵌套的数组“拉平”,变成一维的数组。

5.对象

  • Object.getOwnPropertyDescriptor:可以获取该属性的描述对象。 
    例:
    let obj = { foo: 123 }; Object.getOwnPropertyDescriptor(obj, 'foo') // { // value: 123, // writable: true, //可写 // enumerable: true, //可枚举 // configurable: true // }

    目前,有四个操作会忽略enumerablefalse的属性。

    • for...in循环:只遍历对象自身的和继承的可枚举的属性。
    • Object.keys():返回对象自身的所有可枚举的属性的键名。
    • JSON.stringify():只串行化对象自身的可枚举的属性。
    • Object.assign(): 忽略enumerablefalse的属性,只拷贝对象自身的可枚举的属性。
     
  • 属性的遍历
    1for...in2)Object.keys(obj)
    
    (3)Object.getOwnPropertyNames(obj)
    
    (4)Object.getOwnPropertySymbols(obj)
    
    (5)Reflect.ownKeys(obj)
  • super,指向当前对象的原型对象。
  • Object.is():比较两个值是否相等
  • Object.assign:用于对象的合并(浅拷贝)
  • Object.getOwnPropertyDescriptors()方法,返回指定对象所有自身属性(非继承属性)的描述对象。
  • Object.keys():返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键名。

  • Object.values:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值。
  • Object.entries():返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值对数组。
  • Object.fromEntries():Object.entries()的逆操作,用于将一个键值对数组转为对象。

6.Symbol 第七种数据类型

  • Object.getOwnPropertySymbols():可以获取指定对象的所有 Symbol 属性名

7.Set   类似于数组,没有重复的值

  • [...new Set(array)]:数组去重
  • Array.from(new Set(array)):数组去重
  • [...new Set('ababbc')].join(''):字符串去重
  • .add()
  • .delete()
  • .has()
  • .clear()
  • Array.from方法可以将 Set 结构转为数组。
  • keys()values()entries():遍历、

  • forEach()
  • 交集、并集、差集
    let a = new Set([1, 2, 3]);
    let b = new Set([4, 3, 2]);
    
    // 并集
    let union = new Set([...a, ...b]);
    // Set {1, 2, 3, 4}
    
    // 交集
    let intersect = new Set([...a].filter(x => b.has(x)));
    // set {2, 3}
    
    // 差集
    let difference = new Set([...a].filter(x => !b.has(x)));
    // Set {1}

8.Map

  • Map转数组用扩展运算符

*扩展运算符和rest参数的区别  https://www.jianshu.com/p/eb777db79ca2

原文地址:https://www.cnblogs.com/kaiqinzhang/p/12198164.html