ECMAScript 2020(ES2020)的新增语法
是时候对不断变化的艺术作品(即
JavaScript
)进行另一个更新了。在本文中,我们将回顾ES2020
的一些最新和最强大的功能。
安装
自从很多人不认为更新他们的浏览器是为了让他们的开发工作更简单,我们需要使用babel
转码来开始使用一些新的语法特性。为了简单起见,我将使用Parcel bundler
让所有东西尽可能快地运行。
$ yarn add parcel-bundler
package.json
"scripts": {
"start": "parcel index.html"
},
遗憾的是,在写这篇文章的时候,我们使用的语法是非常新的,市面上少有一个ES2020
的工作预置环境。将下面代码写入到.babelrc
文件并保存,Parcel
应该可以为您处理所有安装。
.babelrc
{
"plugins": [
"@babel/plugin-proposal-nullish-coalescing-operator",
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-private-methods",
"@babel/plugin-syntax-bigint"
]
}
类的私有变量
类的主要目的之一是将代码包含到可重用的模块中。
你创建一个在许多不同地方使用的类,你可能不希望它内部的所有内容都是全局可用的。
现在,通过在变量或函数前面添加一个简单的哈希符号,我们可以将它们完全保留为类内部使用。
class Message {
// 定义一个私有变量
#message = "Howdy"
greet() {
console.log(this.#message) }
}
const greeting = new Message()
// 通过实例方法调用访问
greeting.greet(