问题标签 [ecmascript-2016]

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 回答
14742 浏览

jasmine - SyntaxError:意外的标记静态

我目前正在尝试评估与 React 一起使用的不同测试框架,结果发现 Jest 在我的列表中。但是,我正在尝试使用此处概述的静态属性:https ://github.com/jeffmo/es-class-fields-and-static-properties 。

因此,我采用了 Jest 主页上提供的教程,并添加了一个静态 propTypes 属性,我的代码如下所示:

当我运行测试(npm test 或 jest)时,它会引发以下错误:

我的 package.json 文件如下所示:

关于我在这里缺少什么的任何想法?

谢谢。

0 投票
1 回答
43 浏览

babeljs - 更新深层属性的区别和/或首选方式是什么?

这是一个 babel/ES7 问题(供 redux reducer 使用)

我只想在某些属性中更新“dan”。不变性思维的首选方式是什么?

似乎只有 TRY 1 和 TRY 3 正确合并/更新。

两者有什么区别吗?对我来说,TRY 3 获胜,因为它是最短的(如果 TRY 1 没有区别)

谢谢

这是输出

0 投票
1 回答
32411 浏览

javascript - Typescript 对象解构导致“预期的属性分配”。

我正在将项目从 Babel 转换到 Typescript,并收到以下编译器错误:

从看起来像这样的代码:

此代码以前在 Babel 下运行良好,但在尝试通过 Typescript 编译时会导致上述错误。Typescript 中的对象解构是否不同?

0 投票
1 回答
5918 浏览

javascript - ES7 类:在构造函数之外声明属性

在构造函数内部和外部声明变量之间有什么区别吗?

对于函数,“this”的绑定方式不同,但对于变量,我无法确定是否存在差异。

0 投票
1 回答
2032 浏览

javascript - 静态方法在 ES6 类中未定义,在 reactjs 中有一个装饰器

我有一个带有装饰器的 ES6 类。它有一个静态方法 foo。但是,当我尝试访问静态方法时,它是未定义的。

当我删除装饰器时,我可以访问静态方法。它不再是未定义的。

这个问题有解决方法吗?

0 投票
1 回答
808 浏览

javascript - 使用 ES6 和 ES7 特性的 Javascript 库是否需要 babel-polyfill?

我正在开发一个大量使用 ES6 和 ES7 特性的库。使用 Babel 编译它会生成代码,该代码(自然)使用 Symbol 或 Promise 等原语。我require('babel-polyfill')应该确保这些原语肯定存在吗?

起初,答案似乎是“是”——尤其是如果我不知道有人可能在什么运行时执行我的库。另一方面,如果每个库都这样做,我们最终会babel-polyfill一遍又一遍地要求(我不确定这是否是个好主意)。

0 投票
1 回答
992 浏览

node.js - 反应不从 babel.rc 文件加载

尝试使用 Babel6 Stage-1 加载我的反应应用程序时,我收到“模块解析失败”错误。我们最初运行 browserify,但我现在正试图将我们完全移植到 Babel6。

babel.rc 文件

网络包配置

我已经尝试阅读 Babel6 上的文档,似乎我需要在我的预设中包含 react 以及 Stage-1。

我已经完成并安装了npm:

babel preset stage 1、babel preset react、babel preset react hmre

关于如何再次加载反应的任何想法?

0 投票
1 回答
1526 浏览

reactjs - Visual Studio 2015 中更好的 ES6 / ES7 React 支持?可能使用 TypeScript?

与 Babel / Sublime(或 Atom、VS Code 等)相比,Visual Studio 2015 对带有 React 的 ES6/ES7 语法的支持有一些明确的限制。具体来说,我试图在不关闭 Visual Studio 2015(.NET 4.5 项目而不是版本 5)中的 JS 调试/智能感知的情况下,在 JSX 文件中实现对 ES6 导入/导出和 ES7 装饰器和类属性的“支持”。

我发现了一些有用的东西,例如对节点服务器 VS 用来解析 JSX 的这个hack(并且正在修改它以使用 Babel,但已经遇到了一些问题)。

我已经下载了节点工具,打开了 ES6 智能感知预览,并安装了 TypeScript 1.7.6。

所以,它更好,但仍然有太多的限制。

看起来微软正在将其大部分 JSX 支持投入到 TypeScript 中。虽然我认识到 TypeScript 的一些好处,但在这一点上,我不想用 TypeScript 编写我的 JSX,但据我了解,有效的 JS 是有效的 TypeScript,如果我能获得更好的 React / ES6 / ES7 支持现在(或将来)通过将我的文件扩展名从 JS / JSX 更改为 TS /TSX,很好;但是,当我尝试这样做时,Visual Studio 2015 立即开始抱怨我的 JSX 语法中缺少类型定义和显式类型。你能把这些关掉吗?

换句话说,无论如何要告诉 Visual Studio 2015 '像 TypeScript 一样突出显示这个文件,提供一些基本的语法验证,一些不错的智能感知,但不要担心构建、源映射或其他任何东西'(我为此使用 webpack) ?

需要明确的是,我的问题是“如何在 Visual Studio 2015 中使用 React 实现绝对最佳的 ES6/ES7 支持”,因为我的问题是我有一个需要构建的 .NET 4.5 MVC 应用程序,并且前端需要成为“现代” ES6/ES7 React。

如果有其他方法可以解决我的问题(例如使用 VS Code + Mono - 需要 .NET 5+),或者您对如何最好地回答上述问题有任何建议,我们将不胜感激。提前感谢您提供的任何帮助!

0 投票
2 回答
2359 浏览

javascript - 浅拷贝对象在 ES6/ES7 中遗漏了一个或多个属性?

这就是我一直在做的事情:

有没有更清洁、更简单的方法?

0 投票
1 回答
1881 浏览

windows - Windows 7 上的 Internet Explorer 11 之后是什么?ES2016 在企业中的支持程度如何?

我在企业中支持基于 Web 的应用程序。我目前需要 Chrome,企业通过使用Chrome Legacy Browser Support 插件强制自动切换来支持它。现在他们已将 Windows 7 机器更新为Internet Explorer 11,一些用户要求允许该应用程序在 Internet Explorer 11 上运行。

目前,我使用的 JavaScript 框架(连同 Babel)与 IE11 兼容,但未来几年会发生什么?

我没有看到微软提到 IE 11 之后会有任何事情发生。事实上,他们说Windows 7 不会有任何事情发生。随着 JavaScript 现在每年都在更新(ES2015、ES2016、ES2017 等),微软计划如何让 IE 11 保持最新?

我们会被迫支持越来越“粗鲁”的 IE11 吗?直到 2020 年( Windows 7 生命周期结束),我们是否会在企业中使用 Internet Explorer 11 ?