ES6、ES7、ES8、ES9、ES10
最近这么多人看了这个,大致更新了一下,不太齐全,请详细自己调查一下
ES6
ES6中地图和对象的区别由于对象只接受字符串作为关键字名称,因此element将自动转换为字符串,[对象htmldivelement ] es6提供了映射数据结构。 类似于对象,是键-值对的集合,但“键”的范围不限于字符串,可以使用包括对象在内的各种类型的值作为键。 也就是说,Object结构提供了“字符串—值”的对应,Map结构提供了“值—值”的对应,是更高级的Hash结构的实现。
经常遇到的是箭头函数面试时听到的最多的箭头函数和this指向
359 ES6. Ruan Yifeng.com/https://www.cn博客.com/the博客/p/10575845.html
ES6兼容性问题
ES7
ES7除了ES6之外,还添加了三个项目:幂运算符(** )、Array.prototype.includes )方法、在函数范围内更改严格模式。 幂运算:3**2 //9
includes:
[ 1,2,3 ] .索引(3)-1//真
同等:
[ 1,2,3 ] .包含(3)//真
两者都用===进行数据处理,但对NaN数值的处理行为不同。 返回true,因为includes对NaN的处理不会按照严格的模式进行。 索引关闭在严格的模式下处理,然后返回-1。
[ 1,2,nan ] .包含(nan )//真
[ 1,2,南] .索引(南)/-1
如果只想搜索数据是否在数组中,建议使用includes。 对于要搜索数据的索引位置,建议使用索引of
ES8
异步、await异步解决方案在ES6中,为了解决回调的写法,引入了Promise的then函数,但是在业务逻辑较多的情况下,链式需要多个then函数,变得不明白意思。
新合同((解决,拒绝={this.login ) ) ) ) ) ) )。
. then ()=this.getInfo ) )
. then ()=(/dosomething ) )
. catch ()={控制台.日志} '错误' } )
在ES8中,让async和await更方便的其实是Generator的语法歌手。 async/await是一种编写异步代码的新方法,以前的方法有回调函数和Promise。 比Promise更简洁,更容易处理错误、条件语句和获取中间值。 阮义丰异步公司
Object.entries () :
方法以二维数组的形式返回对象的可枚举属性和值。 如果目标对象是数组,则数组的后缀将作为键值返回。)
Object.values () :
其工作原理与Object.entries () )方法类似,只是返回键-值对的值,结果是一维数组
object.values({one:1,two: 2} )//[ 1,2 ]
object.values(:(a ),1:’b ),2: ) c ) ) ) ) b ),c ),a ) )。
对象树([ 1,3 ] )/[ 1,3 ]
将字符串填充到padStart (,padEnd ),中
ES8提供了一种新的字符串填充方法,将字符串设置为固定长度。 有两个参数:字符串的目标长度和填充。
' react'.padstart(10,' m ' )//'mmmmmreact "。
' react'.padend(10,' m ' )//' reactmmmmm )。
' react'.padstart(3,' m ' )//'react ) )。
ES10
阵列的平面图(方法和平面图) )。flat ) )方法以指定的深度递归遍历数组,并将所有元素和遍历的子数组中的元素合并为一个新数组,然后返回结果
flat ) )方法最基本的作用是降低数组的维。 flat ) )方法的特性,也可以删除数组的空项扁平化多维数组。
vararr3=[ 1,2,3,4,5,6 ];
ARR3.平面(2;
//[ 1,2,3,4,5,6 ]
使用Infinity作为深度,展开任意深度的嵌套数组
ARR3.平坦(infinity );
//[ 1,2,3,4,5,6 ]
//删除空项目
vararr4=[ 1,2,4,5 ];
ARR4.平坦(;
//[ 1,2,4,5 ]
flatMap ) )方法首先使用映射函数映射每个元素,并将结果压缩到新数组中。 这和map和深度值1的平面差不多,但是平面图通常比合并为一种方法要高效一些。 现在,我们来比较一下map法和flatMap法
vararr1=[ 1,2,3,4 ];
arr1.地图(x=x *2);
//[[2]、[4]、[6]、[8]中的一个。
arr1.平板地图(x=x *2);
2,4,6,8
只需“平坦”flatMap函数返回的数组
arr1.平板地图(x=x *2);
//[[2]、[4]、[6]、[8]中的一个。
String的trimStart (方法和trimEnd )方法Object.fromEntries ) ) symbol.prototype.descriptionstring.prototype.matchallfu 修改catch绑定的新基本数据类型BigInt globalThis import () Legacy RegEx专用实例方法和访问器