ES6新增值比较函数Object.is()
ES6新增加的比较方法大多数情况下等价于’===’
1 | 1 === 1 // true |
但对于NaN、0、+0、 -0,则和 “===” 不同
1 | NaN === NaN // false |
es8新增语法 padStart()padEnd()
这两个函数方法是ES8新增的实例方法,不兼容IE浏览器,函数接受两个参数,第一个是字符串需要填充的目标长度(必填),第二个是填充字符串(可选), 如果填充的字符串长度超过了目标长度,则保留最左侧的部分。
使用方法如下:
1 | 'x'.padStart(4, 'ab'); // 'abax' |
假设现在有这样一个需求,实现mask函数将’123456’转为’##3456’, 只保留最后四个字符。
试着用上面提供的方法做一下
1 | const mask = (str, maskChar = '#') => { |
Object.fromEntries()和Object.entries()
场景需要:
let obj = {a:1, b:2, c:3}; 提取对象中所有value值大于1的键值对并返回最新的对象
1 | let newObj = Object.fromEntries(Object.entries(obj).filter(([k, v]) => v > 1)); // {b: 2, c: 3} |
…rest代替arguments
es6箭头函数中不识别arguments对象,使用…args来替代arguments获取参数。
举例说明:
1 | // es5 以下两种方法都可以 |