[ES6深度解析]13:let const

当Brendan Eich在1995年设计了JavaScript的第一个版本时,他犯了很多错误,包括从那时起就成为该语言一部分的一些错误,比如Date对象和当你不小心将它们相乘时对象会自动转换为NaN。然而,事后看来,他做对的事情都是非常重要的事情:对象;原型;具有词法作用域的一级函数;默认可变性。这种语言很好。比大家一开始意识到的要好。尽管如此,Brendan还是做出了一个与今天的文章相关的特殊设计决定——...

[ES6深度解析]12:Classes

存在的问题假设我们想要创建最典型的面向对象设计的示例:Circle类。假设我们正在为一个简单的Canvas库编写一个Circle。除此之外,我们可能想知道如何做到以下几点: 在给定的画布Canvas上画一个给定的圆Circle。记录所做的圆圈的总数。跟踪给定圆的半径,以及如何对其值施加不变量。计算给定圆的面积。 当前的JS习惯说法是,我们应该首先创建一个函数,作为构造函数;然后将我们可能想要的任何属性...

[ES6深度解析]15:模块 Module

JavaScript项目已经发展到令人瞠目结舌的规模,社区已经开发了用于大规模工作的工具。你需要的最基本的东西之一是一个模块系统,这是一种将你的工作分散到多个文件和目录的方法——但仍然要确保你的所有代码片段可以根据需要相互访问——而且还要能够有效地加载所有代码。所以很自然,JavaScript有一个模块系统。实际上,有不少模块系统。还有一些包管理器,用于安装所有这些软件和处理高级依赖关系的工具。你可能会认为,拥...

[ES6深度解析]14:子类 Subclassing

我们描述了ES6中添加的新类系统,用于处理创建对象构造函数的琐碎情况。我们展示了如何使用它来编写如下代码:class Circle { constructor(radius) { this.radius = radius; Circle.circlesMade++; }; static draw(circle, canvas) { // Canvas drawing code }; static get ci...
© 2021 LMLPHP 关于我们 联系我们 友情链接 耗时0.009829(s)
2021-09-24 08:22:20 1632442940