ecmascript-6相关内容
当我深入研究承诺时,我的理解已经停止了以下问题,我没有找到讨论(我发现是承诺构造函数和 Promise '然后'函数 - 但不是讨论比较他们的设计模式)。 1。 承诺构造函数 从MDN文档,我们使用了Promise构造函数(与我的添加评论): new Promise(function(resolve,reject){...}); //
..
我想在JS中定义类似枚举的结构,但有两个要求: 这些值是只读的,即,没有用户可以分配给他们。 可以将值(0,1,2,...)映射回名称(如Java的名称方法) 我知道创建这样的枚举的方法通常符合一个要求,而不是两者。 我试过: const MyEnum = { a:0, b:1, c:2 }; 枚举本身是常量,但值仍然是可变的,我无法将值映射回
..
我正在尝试创建一个导出多个ES6类的模块。假设我有以下目录结构: my / └──module / ├─ ─Foo.js ├──Bar.js └──index.js Foo.js 和 Bar.js 每个导出默认的ES6类: // Foo.js 导出默认类Foo { //类定义 } // Bar.js export default cl
..
var map = new Map(); map.set('2-1',foo); map.set('0-1',bar); 结果: map.entries = { 0:{“2-1”,foo}, 1:{“0-1”,bar} } 是否可以根据这些密钥对条目进行排序? map.entries = { 0:{“0-1”,bar},
..
假设我想在我的项目中使用Immutable(或任何给定的npm包)。我有 npm install ,所以它在 node_modules 中。当然这里有CommonJS出口。但是,我想在我的项目中使用es6模块。 我正在使用Webpack一起编译,使用6to5加载器来处理es6模块语法。 在我的源文件中,我说'code> import immutable from'immutable';
..
让我说我有一个对象: { item1:{key:'sdfd',value: 'sdfd'}, item2:{key:'sdfd',value:'sdfd'}, item3:{key:'sdfd',value:'sdfd'} } 我想通过过滤上面的对象来创建另一个对象,所以我有一些类似的东西。 b $ b { item1:{key:'sdfd',value:
..
我希望能够使用nodejs的酷ES6类功能4.1.2 我创建了以下项目: a.js: class a { constructor(test){ a.test = test; } } index.js: require('./ a.js'); var b = new a(5); 你可以看到我创建一个简单的类,它的构造函数
..
const obj = {a:5,b: 5}; console.log(Reflect.ownKeys(obj)); console.log(Object.keys(obj)); //结果 ['a','b'] ['a','b'] pre> 什么时候 Reflect.ownKeys(obj)产生与 Object.keys不同的输出(obj)? 解决方案
..
如何从控制台要求()/导入模块?例如,假设我已经安装了ImmutableJS npm,我想在控制台中使用模块中的功能。 解决方案 将这个包含在一个模块中将允许 require([modules],function)从浏览器中使用 window ['require'] = function(modules,callback){ var modulesToRequire = modu
..
对不起,如果以前有人问过,但是我想知道什么时候ECMAScript v 6将会成为一个草案,并成为新的标准。访问 ECMA网站(第262节)仍然将版本5.1作为最新的,这是在2011年6月发布的。 注意:(我打算在接下来的几个月里就ECMA 262版本5.1做演讲,我希望我不是在说过时的资料:) 解决方案 截至2015年6月: here它是! http://www.ecma-i
..
我不是在寻找一个意见 - 只是一个坚实的移民策略。 我们开始设计一个新的项目,指定使用Angular我们以前的这个项目的重要性非常高,它将会生活和维护至少3-4年。 Angular 2.0将在2015年底而且似乎所有的事情都要改变,$范围是出来的,指令出来,整个DI概念即将改变。 在接下来的几个月 个月中是否有考虑迁移路径/策略? 如果我们使用1.x构建项目,在开发过程中需要
..
例如,在ECMAScript 5中,您可以执行以下操作来获取一组参数:从第二个元素: // ES 5 store('Joe','money'); store('Jane','letters','certificates'); 函数store(name){ var items = [] .slice.call(arguments,1); // ['money'] in first
..
两者之间有什么区别?我看到人们使用: function foo(){ ... } export default foo; 我看过: 功能栏(){ ... } 导出栏; 另外,为什么要使用另一个? 解决方案 如果您需要使用命名导出导出多个对象(没有默认关键字)。 函数x1(){}; 函数x2(){}; e
..
在一个例子中,我看到使用'import': import'jquery'; 并导入本地文件: 从'./Header'导入标头; 但在其他示例中,我看到通过以下方式导入的人员: require('./ Header'); 有什么区别? 解决方案 require()是ES5中的Node模块系统(CommonJS
..
我只想在当前运行时支持使用ES6语法导出模块。目标是开发一个支持不同模块管理系统的库。 由于 export 是一个关键字,将抛出语法错误: typeof export 解决方案 修订版本27 具有可用于模块反射的 Reflect.Loader API。 虽然这不是导出关键字本身的直接特征检测,但是可能会从数据uri加载使用导出关键字的模块,然后检查是否引
..
如果我们可以使用javascript对象创建键/值对,那么什么是用于ES6新的Map()对象? 什么时候应该使用一个和另一个?地图是否限于值或还可以包含函数? 解决方案 任何东西都可以用作 地图是有序的,可以进行迭代。 结合1和2,当您迭代地图时,您将获得一组有用的键值对! 查看 map.prototype.forEach()文档。 资料来源:另一个好问题/答
..
我刚刚开始构建Chrome扩展程序,并且很好奇,如果我能够使用ES6。 在以下兼容性表,Chrome 41显示它目前具有41%的兼容性。这个41%的关键功能如 class 不包括在内,所以如果有其他选项,比如透析,我很好奇。 我已经使用Ember CLI使用了 Babel ,一个ES6的转换器,它已经很好用了。 然而,在开发Chrome扩展时,我发现构建过程有些不同。例如,当测试
..
据我所知,承诺是可以解决()或reject()的,但是我很惊讶,发现承诺中的代码在解决或拒绝被调用后继续执行。 我认为解决或拒绝是一个异步友好版本的退出或返回,这将停止所有即时功能执行。 有人可以解释以下示例有时在解析调用后显示console.log: var call = function(){ 返回新的承诺(功能(解决,拒绝){ resolve(); console.
..
有人可以向我解释:为什么ES6中的发电机功能标有星号符号? 例如,而不是: function * someGenerator(){ yield 1; yield 2; yield 3; } 我们可以写: function someGenerator(){ yield 1; yield 2; yield 3; } 甚
..
由于io.js现在支持ES6 ,您终于可以使用 const 和 let 关键字。显然, let 是 var 的继承者,只是一些超级大国。 但是, const 呢?我知道,当然,“不变”是什么意思,但是我想知道什么时候使用它(关于最佳做法)。 例如,如果我创建一个需要的模块另一个模块,我可以写: 'use strict'; const util = require('uti
..