Questions tagged «ecmascript-6»

ECMAScript规范的2015版本现已成为标准(ECMAScript 2015)。仅在问题专门与ECMAScript 2015中提供的新功能或技术更改有关的情况下使用此标记。

6
ES6 WeakMap的实际用途是什么?
WeakMapECMAScript 6中引入的数据结构的实际用途是什么? 由于弱映射的键会强烈引用其对应的值,因此确保只要弱键仍处于活动状态,插入到弱映射中的值就不会消失,因此不能将其用于备忘表,缓存或其他通常使用弱引用,弱值映射等的内容。 在我看来,这是: weakmap.set(key, value); ...只是一种回旋的说法: key.value = value; 我缺少哪些具体用例?

10
对象传播与Object.assign
假设我有一个options变量,并且想要设置一些默认值。 这两种选择的优点/缺点是什么? 使用对象传播 options = {...optionsDefault, ...options}; 或使用Object.assign options = Object.assign({}, optionsDefault, options); 这就是让我感到奇怪的承诺。


1
如何在Javascript中为默认导入添加别名?
使用ES6模块,我知道我可以为命名导入别名 import { foo as bar } from 'my-module'; 我知道我可以导入默认导入 import defaultMember from 'my-module'; 我想为默认导入添加别名,我以为以下内容可以工作 import defaultMember as alias from 'my-module'; 但这会导致解析(语法)错误。 我如何(或可以?)为默认导入添加别名?

7
将符号引入ES6的动机是什么?
更新:最近有来自Mozilla的精彩文章出现。好奇的话请阅读。 如您所知,他们计划在ECMAScript 6中包括新的Symbol原语类型(更不用说其他疯狂的东西了)。我一直认为:symbolRuby 中的这个概念是不必要的。我们可以像使用JavaScript一样轻松地使用纯字符串。现在,他们决定将JS中的内容复杂化。 我不明白动机。有人可以向我解释我们是否真的需要JavaScript中的符号?

27
如何向ReactJS组件添加多个类
我是ReactJS和JSX的新手,下面的代码有一些问题。 我试图将多个类添加到className每个属性li: <li key={index} className={activeClass, data.class, "main-class"}></li> 我的React组件是: var AccountMainMenu = React.createClass({ getInitialState: function() { return { focused: 0 }; }, clicked: function(index) { this.setState({ focused: index }); }, render: function() { var self = this; var accountMenuData = [ { name: "My Account", icon: "icon-account" }, { name: "Messages", …

16
使用React Router V4以编程方式导航
我刚刚react-router从v3 替换为v4。 但是我不确定如何以编程方式在的成员函数中进行导航Component。即在handleClick()功能上我想导航到/path/some/where处理一些数据后。我曾经通过以下方式做到这一点: import { browserHistory } from 'react-router' browserHistory.push('/path/some/where') 但是我在v4中找不到这样的接口。 如何使用v4导航?

4
Node.js和ES6中的module.exports与export默认
Node module.exports和ES6 之间有什么区别export default?我试图弄清楚为什么export default在Node.js 6.2.2中尝试出现“ __不是构造函数”错误。 什么有效 'use strict' class SlimShady { constructor(options) { this._options = options } sayName() { return 'My name is Slim Shady.' } } // This works module.exports = SlimShady 什么不工作 'use strict' class SlimShady { constructor(options) { this._options = options } sayName() { return …

14
在ES6类中声明静态常量?
我想在中实现常量class,因为在代码中找到常量是很有意义的。 到目前为止,我一直在使用静态方法实现以下变通方法: class MyClass { static constant1() { return 33; } static constant2() { return 2; } // ... } 我知道有可能摆弄原型,但是很多人建议不要这样做。 有没有更好的方法在ES6类中实现常量?




11
JavaScript中的地图与对象
我刚刚发现了chromestatus.com,在失去了一天的时间后,发现了这个功能条目: 映射:映射对象是简单的键/值映射。 那让我感到困惑。常规JavaScript对象是字典,那么它Map与字典有何不同?从概念上讲,它们是相同的(根据 Map和Dictionary之间的区别是什么?) chromestatus文档参考无济于事: 映射对象是键/值对的集合,其中键和值都可以是任意ECMAScript语言值。一个唯一的键值只能出现在地图集合中的一个键/值对中。使用创建地图时选择的比较算法来区分的不同键值。 Map对象可以按插入顺序迭代其元素。必须使用哈希表或其他机制来实现Map对象,这些机制通常提供的访问时间与集合中元素的数量成线性关系。本Map对象规范中使用的数据结构仅用于描述Map对象所需的可观察语义。它并非旨在成为可行的实施模型。 …对我来说听起来仍然像是一个对象,所以很明显我错过了一些东西。 为什么JavaScript获得了一个(被良好支持的)Map对象?它有什么作用?

2
我应该使用打字稿吗?或者我可以只使用ES6?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 改善这个问题 我的日常工作是使用AngularJS进行客户开发。我们正在评估是否要使用TypeScript。我对Typescript进行了一些研究,几乎我需要的每个JavaScript包都必须具有定义类型文件。我发现这不是很方便,特别是如果我想尝试一些新的东西,而他们没有定义的话。真令人沮丧。(如果我想使用打字稿1.5 beta,即使当前的jQuery定义也给我带来了一些问题)。我开始研究ES6,它看起来与TypeScript类似。我应该只使用ES6吗?另外,我听说angular 2将完全支持TypeScript,这是我应该坚持使用它的原因之一吗?

7
如何使用Jest模拟ES6模块导入?
我开始认为这是不可能的,但是无论如何我都想问。 我想测试我的一个ES6模块以特定方式调用另一个ES6模块。有了茉莉花,这非常容易- 应用程式码: // myModule.js import dependency from './dependency'; export default (x) => { dependency.doSomething(x * 2); } 和测试代码: //myModule-test.js import myModule from '../myModule'; import dependency from '../dependency'; describe('myModule', () => { it('calls the dependency with double the input', () => { spyOn(dependency, 'doSomething'); myModule(2); expect(dependency.doSomething).toHaveBeenCalledWith(4); }); }); 笑话相当于什么?我觉得这是一件很想做的简单的事情,但是我一直在努力尝试弄清头发。 我最接近的方法是将imports …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.