ES6 迷你速成课程:如何编写现代 JavaScript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

2025-05-24

ES6 迷你速成课程:如何编写现代 JavaScript

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

这最初是在 Twitter 上发布的:https://twitter.com/chrisachard/status/1169223691122749440

想要像一个理智的人一样编写 JavaScript 吗?

🔥 这是专为您准备的迷你速成课程 🔥

ES6+ JavaScript 编写起来确实很有趣!

(codesandbox 链接在最后)

1.

var 已死。别用 var。😐

(为什么?词法作用域)

如果变量将发生变化,请使用let

如果变量不会改变,则使用const

var let const

2.

箭头函数自动绑定this

所以 95% 的情况下它都会如你所想

箭头函数

3.

如果你将 {} 从箭头函数中移除,它会自动返回

如果只有一个参数,则可以省略 ()

不同的语法可能会有点令人困惑 - 但你很快就会习惯它

箭头函数类型

4.

您现在可以为函数参数定义默认值。

超级好用!🎉

默认函数参数

5.

通过解构赋值,你可以从对象或数组中提取特定值

在函数签名中也常用——现在你可以拥有命名参数了!🎉🎉

解构赋值

6.

导出和导入模块有新的语法

您可以从模块中导出单个默认值以及任意数量的命名值

(注意使用解构赋值来导入命名值!)

进出口

7.

使用三个点获取对象或数组中的“其余”值...

(又称rest操作员)

休息运算符

8.

三个点也可用于将对象或数组扩展为新的对象或数组。

这被称为spread运算符

(是的 - 三个点既是restspread。它们是不同的,尽管概念上相似)

扩展运算符

9.

反引号现在可用于包装字符串,称为“模板文字”

在反引号内部,您可以使用它${}来进行字符串插值!

这比说以下的话要容易得多:"Hello " + name + "!"

模板字符串

10.

现在大多数浏览器都原生支持这些功能!🎉

(IE 除外😐)

除了 ES6 模块之外,大多数功能都可以在 Node 中运行,但有一种方法可以解决这个问题👇

Node 中的 ESM 修复

11.

好的,但是为什么 ES6+ JS 更好呢?

  • let/const 作用域正确
  • () => {}this正确绑定
  • 解构赋值,...rest 和 spread 节省了大量的输入

简而言之:它消除了黑客攻击,做了您认为它应该做的事情,更少的打字意味着更少的错误。

哇!🎉

12.

以下是 codesandbox 链接,您可以探索:

var/let/const
https://codesandbox.io/s/es6-var-let-const-xz50k?fontsize=14

箭头函数
https://codesandbox.io/s/es6-arrow-function-gye29?fontsize=14

解构赋值
https://codesandbox.io/s/es6-destructuring-assignment-3cv3b?fontsize=14

导入/导出
https://codesandbox.io/s/es6-import-export-2q3px?fontsize=14

rest/spread 和模板文字
https://codesandbox.io/s/es6-rest-spread-template-literals-puli0?fontsize=14

 

写这个速成班真有趣!希望你喜欢它😁

如果您喜欢它,您可以通过以下方式找到更多:

感谢阅读!

文章来源:https://dev.to/chrisachard/es6-mini-crash-course-javascript-can-actually-be-fun-to-write-3b9l
PREV
如何辞去工作并开始以软件开发人员的身份自由职业 1. 不要做任何鲁莽的事情 2. 开始存钱 3. 确定你擅长什么 4. 成为知名专家 5. 结识其他开发人员 6. 计划你的退出(选择你的第一个客户) 7. 辞去工作 8. 在你的第一个客户之后祝你好运!
NEXT
面向 Web 开发人员的 DNS 记录速成课程 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 备忘单