Javascript社区中,每个人都热衷于拥抱JS提供的各种新的API、语法和特性 —— 它们使我们能够更高效,更智能地编写代码。ES6带来了一大波新的好东西,但同时我也对一些小的更新十分感兴趣。以下是我最中意的6个新特性:
Object[key]语法
自古以来,JavaScript开发者一大烦恼便是无法在声明一个对象的时候,使用变量设置对象的某个属性名 —— 你必须在声明完了这个对象之后在加上这个键值对:
在这个简单的例子中看起来这种模式仅仅有些不太方便,但是在复杂的环境下,这种写法就会显得十分的混乱和丑陋!不过还好,ES6为我们带来了终结这一团乱麻的方法:
箭头函数
不要怕,要理解箭头函数的用法并不意味着你要掌握ES6的每一个新特性(事实上他们中的许多都令初级开发者感到困扰)。箭头函数为我们压缩代码量提供了一个非常简单高效的方法:
如你所见,我们并没有用到function或return关键字,有时候你甚至不用使用() —— 箭头函数是实现一些简单函数的伟大方式!
find/findIndex
你可以使用Array.prototype.indexOf来获取某项在数组中的位置,但是indexOf方法并不能使用条件搜索的方式进行查找,换句话说,你必须精确查找一个已知字段的值。不妨来试试find和findIndex —— 使用这两个方法你能找到第一个匹配规则的值:
通过允许条件搜索,find和findIndex也避免了不必要的遍历和副作用。
展开运算符
展开运算符可以在调用数组或是可迭代对象时,将其拆散撑单独的参数,比如以下例子:
使用展开运算符的一个优势在于可以方便地将可迭代对象(比如节点对象和参数对象)转化为真正的数组 —— 从此我们可以告别Array.from或者其它hack的写法。
字符串模板语法
在过去JavaScript中的多行字符串是使用拼接字符串或是在行尾加字符的形式来实现的,然而不管使用哪种方法都显得难以维护。当然更有甚者使用