问题标签 [ecmascript-6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1480 浏览

javascript - Ecmascript 6 是否支持可变的 __proto__ 属性?

在当前的 Ecmascript 6 草案(2012 年 11 月)中,官方支持该__proto__属性(第 B.3.1 节)。这有点令人惊讶,因为在当前的浏览器实现中,该__proto__属性已被弃用。

如果当前草案成立,ES6 会完全支持可变原型吗?我能否像目前在 Firefox 中那样为现有对象提供新原型?

0 投票
6 回答
96563 浏览

javascript - 如何在 ES6+ 中合并两个 javascript 对象?

我厌倦了总是不得不编写这样的代码:

或者,如果我不想自己编写代码,请实现一个已经完成的库。ES6+ 肯定会在这方面提供帮助,为我们提供类似Object.prototype.extend(obj2...)Object.extend(obj1,obj2...)

那么 ES6+ 是否提供了这样的功能呢?如果还没有,那么是否计划了这样的功能?如果没有计划,那为什么不呢?

0 投票
2 回答
2563 浏览

javascript - NodeJS 中的数组推导

我听说 Node.JS 有很多 EcmaScript 6 特性。似乎默认情况下不存在数组推导。

Node.JS 有数组解析吗?如果是这样,我该如何启用它们?

0 投票
1 回答
1193 浏览

javascript - 将 TypeScript 用于 CMS 是否值得?

首先,一些背景:我有一个想法来制作一个几乎不依赖于 JavaScript 使用的 CMS(我可以更具体,但这与问题无关)

我想问,CMS 中使用的所有 JavaScript 脚本都值得使用 TypeScript 吗?当然,不是用纯 JavaScript 编写的外部的,而是所有自定义的,可以并且将被其他可能不知道 TypeScript 的用户使用......这将迫使他们学习编写或至少阅读 TypeScript ..

我知道 TypeScript 编译为纯 JavaScript,它的语法很像 EcmaScript 6,但是编译后的 JS 并不是一直都非常可读......

0 投票
10 回答
112616 浏览

javascript - JavaScript 扩展类

我有一个基类:

我想扩展并创建另一个类:

我已经做了很多研究,似乎有很多复杂的解决方案可以在 JavaScript 中执行此操作。在 JS 中实现这一目标的最简单和最可靠的方法是什么?

0 投票
4 回答
27591 浏览

javascript - `var { ... } = ...` 语句中的大括号有什么作用?

不确定这是否是 Mozilla 特定的 JS 语法,但我经常发现变量以这种方式声明,例如,在附加 SDK 文档中:

并在各种 chrome Javascript 中(let正在使用语句代替var),

我发现它非常令人困惑,但我无法找到关于这两种语法的任何文档,即使在MDN上也是如此。

0 投票
2 回答
332 浏览

javascript - 扩展常规对象以支持 ES5 数组功能的问题

很久以前,我一直愿意完全模糊原生数组和常规对象之间的界限,不仅扩展了与 ES5 中的数组相同的功能,而且在双方都捆绑了我的自定义方法包。

几个聪明人想到了这些范式变化。就像 Angus Croll 在文章javascript-object-keys-finally中提到的那样:

“此外,随着数组和常规对象之间的界限模糊(在自定义 getter 和 setter 的帮助下),我们很可能会看到通用的“类数组”对象的增长,它们享有两全其美——非数字标识符和访问由 Array.prototype 定义的丰富的 API 集。EcmaScript 5 通过引入由一种类型定义但可供任何类型使用的泛型方法显然抢先了这一趋势。”

一路上,他得到了文章中的编码: extending-objects-with-javascript-getters

这种方法对我来说非常有趣。但是,它似乎也遇到了一些严重的问题!

  1. 用几个新属性扩展原始 myObj 模型怎么样?我们是否应该extendAsArray在每个属性更改上运行以更新它的相关length属性?

  2. 当属性发生变化时,相关的不仅仅是length属性;数组索引也应该更新,因为类似数组的属性请求肯定是未定义的。所以当

    然后

    /li>

我已经相应地修改了 Angus 的代码,因此它支持根据length请求自动更新属性:

length问题是:当一个属性被改变、添加或删除时,我们如何更新对象的数组索引及其属性?

我应该使用Object.watch吗?

还有一个未解决的问题:如何干扰我自己的未填充实用程序库,并以一致的方式使其也适用于对象?

我对两种类型都使用相同的代码库:z.Object({}).mapEveryz.Object([]).mapEvery

请避免提及 JQuery 和下划线。我已经为这两种类型提供了一个全面的自定义方法列表,我愿意使用可能与我未填充的标准一起完成的标准,我不愿意重构它!

0 投票
7 回答
34887 浏览

javascript - ES6 Map 和 WeakMap 有什么区别?

查看这个这个MDN 页面,似乎 Maps 和 WeakMaps 之间的唯一区别是 WeakMaps 缺少“大小”属性。但这是真的吗?他们之间有什么区别?

0 投票
1 回答
12174 浏览

javascript - ECMAScript v 6 何时成为标准

抱歉,之前是否有人问过这个问题,但我想知道 ECMAScript v 6 何时会不仅仅是一个草案,而是成为新标准。访问ECMA 网站(第 262 节)仍然显示 5.1 版是最新的,它于 2011 年 6 月发布。

注意:(我计划在接下来的几个月内就 ECMA 262 5.1 版进行一次演讲,我希望我不是在谈论过时的材料 :)

0 投票
1 回答
4193 浏览

javascript - EcmaScript5 中的 WeakMap 实现?

我遇到了一个在ES5中实现跨浏览器WeakMap的JavaScript 库。(WeakMap 计划用于ES6。)

如果没有 JavaScript 语言本身的支持,这怎么可能工作?

编辑:为了清楚起见,我指的是地图,而不是常规地图。我使用 Chrome 的分析器测试了这个项目,并且密钥不是由强引用持有的。他们无需从 WeakMap 中删除即可获得 GC。