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 // }目前,有四个操作会忽略
enumerable
为false
的属性。for...in
循环:只遍历对象自身的和继承的可枚举的属性。Object.keys()
:返回对象自身的所有可枚举的属性的键名。JSON.stringify()
:只串行化对象自身的可枚举的属性。Object.assign()
: 忽略enumerable
为false
的属性,只拷贝对象自身的可枚举的属性。
- 属性的遍历
(1)for...in (2)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