作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
ECMAScript 6 (ES6)是最新的标准规范 JavaScriptWeb的编程语言. 自 HTML5 以及 节点.js即允许我们运行的运行时 JavaScript 在服务器端或桌面端,JavaScript获得了独特的发展势头. 企业的采用率在不断提高, 将其应用于生产, 因此,它的最新功能备受期待.
我们创建了这个备忘单,作为我们日常使用的ES6功能列表. 为了同时做到全面而简洁,新的API方法被搁置一边. 对于那些需要它们的人,可以自己快速搜索或尝试探索 MDN文档 获取最新的实验性api. 然而,一些最前卫的特征,比如 异步
和 等待
包括下一个规范草案(ES7). 这是因为我们大多数开发人员都会使用 像巴别塔一样的翻译器 来利用最新的JavaScript.
你可以用下面的命令运行节点REPL来测试上面提到的一些技巧:
node——use-strict $(node——v8-options | grep harm | awk '{print $1}' | xarg游戏) #ES6
或者直接用a babel-node 以便在您的控制台中充分利用Javascript.
常量 |
|
Let vs var |
> const EULER = 2.7182818284 |
|
> var average = 5 |
警告! 如果是数组或对象,则引用保持不变. 如果常量是对对象的引用, 您仍然可以修改内容, 但是不要改变变量. |
| |
> const CONSTANTS = [] |
|
注意到 时间死亡区: |
|
> 控制台.日志(val) // -> 'undefined'
| |
|
因为它等于: | |
二进制,八进制和十六进制表示法 |
|
> var val |
> 0b1001011101 // 605 |
| |
|
用"让/const"声明的变量不会被提升: | |
新类型 |
|
> 控制台.日志(val) |
符号,映射,弱映射和集合 |
| |
箭头功能 |
|
新的作用域函数 |
> setTimeout(() => { |
|
> { |
与匿名函数等价 |
|
等价于立即调用函数表达式(IIFE) |
> setTimeout(function () { |
|
>
(function () { |
对象符号的新奇之处 |
|
字符串插值,多亏了模板字面值 |
//计算属性
//对象字面量
//与 } |
|
> const name = 'Tiger'
//可以保留换行符… |
|
默认参数 | |
|
> function howAreYou (answer = ‘ok’) { | |
承诺 |
|
类,继承,setter, getter |
new 承诺((resolve, reject) => { |
|
类矩形扩展形状{ |
解构数组 |
|
解构的对象 |
> 让 [a, b, c, d] = [1, 2, 3, 4]; |
|
> 让 luke = { occupation: 'jedi', |
传播算子 |
|
...像老板一样进行破坏 |
//将数组转换为逗号分隔 |
|
> const [ cat, 狗, ...鱼]= [ |
| ||
或者做一个更好的推动 |
|
...以及ES7之后的解构 |
> 让 arr = [1, 2, 3] |
|
{a, b, ...Rest} = {a:1, b:2, c:3, d:4} |
Async ES7 |
|
等待ES7 |
异步函数 薛定谔 () { |
|
尝试{ |
导出ES7 |
|
导入ES7 |
导出函数sumTwo (a, b) { |
|
从“React”中导入React |
发电机 | ||
他们 返回一个实现迭代协议的对象. i.e. it has a next() method that returns { value: < some value>, done: | ||
function* incR和 (max) {// Asterisk将此定义为生成器 | ||
| ||
> var rng = incR和(2) // Returns a generator object |
杰西是Netbeast的联合创始人.co. 他有两年的全栈开发经验和一年的CTO经验.
8
世界级的文章,每周发一次.
世界级的文章,每周发一次.