问题标签 [ecmascript-next]
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.
javascript - 我今天如何使用装饰器?
我看到今天已经在一些 javascript 代码中使用了装饰器。我的问题实际上是两个方面。
第一的:
如果装饰器还没有最终确定,那么今天如何在生产代码中使用它们呢?浏览器支持会不存在吗?
第二:
鉴于今天可以使用它,正如一些开源项目所建议的那样,让装饰器工作的典型推荐设置是什么?
javascript - 将装饰器与中继容器一起使用
我正在尝试使用装饰器来简化创建中继容器的过程,如下所示:https ://gist.github.com/miracle2k/f39aaaccbc0d287b2ddb
不幸的是,它无法正常工作并出错Invariant Violation: RelayQueryNode: Abstract class cannot be instantiated.
我的代码没有什么特别有趣或奇怪的地方。类似于:
有谁知道为什么会这样?我已经尝试调试了一段时间,但无法正常工作。
如果我在装饰器函数之外单独创建容器,它就可以正常工作。
编辑:这与装饰器不工作无关。我的装饰器在其他方面工作得很好,这是一个中继问题。
javascript - 类装饰器可以同时接收构造函数和附加参数吗?
我一直在玩 Babel 和装饰器。例如:
我担心的是,是否有某种方法可以对类使用装饰器,并且还能够为所谓的装饰器提供参数,并且不会失去将构造函数作为第一个参数的机会:
javascript - 如何迭代 ES6/2015 类实例的属性
鉴于这两个类
什么代码会从bar
实例中得到这个属性列表?['f1', 'f2', 'b1', 'b2']
更新
这应该是@Marc C 答案的一部分:
使用装饰器,我可以轻松地将不可枚举的属性转换为可枚举的属性:
这是装饰器的来源:
javascript - ES7 异步函数和 Promise 之间的技术区别?
我试图更好地理解async function
JavaScript 中的 an 在技术上是什么,即使我基本上知道如何使用它们。
许多对 async/await 的介绍让人相信一个async
函数基本上只是一个承诺,但显然不是这样(至少不是Babel6 转译的代码):
await
尽管如此,承诺绝对是可能的,例如await fooPromise()
.
是
async funtion
它自己的东西并且await
与承诺兼容吗?并且,有没有办法区分简单
function
和async function
运行时(以 Babel 兼容的方式)?
javascript - Visual Studio 中的 EsLint - 无法在 javascript 文件上使用静态道具
节点模块:
- 埃斯林特 1.10.3
- Babel-EsLint 4.1.6
- Eslint-plugin-react 3.15.0
被检查的示例文件:
在命令行下,我可以毫无问题地使用 babel 进行 lint 和 transpile。问题是试图从视觉工作室进行 lint。我正在使用内部使用 esLint的Web Analyzer 插件。
这个 Visual Studio 模块定义了一个.eslintrc
文件C:\Users\My-Username
,我已经继续并更新了这个文件,以及使用这个配置的 node_modules 的主文件夹:
但我仍然收到“JSX Parser: Unexpected Token =”错误:
关于让 Web Analyzer 以与命令行工具相同的方式运行的任何想法?
javascript - ES7 中的存根类字段函数
在我的测试套件中,我如何存根一个类的属性,它是一个函数*?使用普通方法很容易使用Object.getOwnPropertyNames(component.prototype)
和猴子修补每个找到的方法,但经过长时间的努力,我还没有找到任何方法来提取通过分配给类的字段创建的函数。
我的测试堆栈由 Jest 和 Jasmine2 和 babel 组成。
转译的问题在于,箭头函数属性(当然,正如预期的那样)分配给输出转译“类”的实例(当然,实际上是函数)。所以除了实例化这个对象之外,我没有看到任何方法来存根它们,对吗?这是输入 es7 代码和 babel 输出的示例。但是我不是特别喜欢这个解决方案,看起来很hacky。这个解决方案的另一个缺点是我不能直接实例化组件的类。
(*) 这个问题的背景是单元测试用类似 es7 的类编写的 React 组件,为了自动绑定的目的,将箭头函数分配给类的属性。
javascript - 在 JavaScript 中装饰实例方法的问题
我在装饰 ES6 中的实例方法时遇到了一个难题。我在装饰该方法时没有问题,但它似乎被困在类实例的单一状态中。这是我正在处理的具体内容:
我意识到上面的代码正在做它应该做的事情,但是如果我想访问foo
和添加到范围中的其他属性,我该如何装饰decoratedMethod
并仍然绑定新的函数属性?
javascript - Babel 对 Object.entries 的支持
我正在查看Object.values/Object.entries 的第 3 阶段提案,我真的很想在我当前的 JavaScript 项目中使用它。
但是,我不知道是否有任何 Babel 预设支持它。由于上面链接的 GitHub 存储库说这是第 3 阶段的提案,我认为它会成为 babel-preset-stage-3 的一部分,但似乎不是。
是否有任何 Babel 预设(甚至插件?)可以让我今天使用 Object.entries?