Tag: ecmascript 6

在ES6中通过键过滤对象属性

可以说我有一个对象: { item1: { key: 'sdfd', value:'sdfd' }, item2: { key: 'sdfd', value:'sdfd' }, item3: { key: 'sdfd', value:'sdfd' } } 我想通过过滤上面的对象来创build另一个对象,所以我有类似的东西。 { item1: { key: 'sdfd', value:'sdfd' }, item3: { key: 'sdfd', value:'sdfd' } } 我正在寻找一个干净的方式来完成这个使用Es6,所以传播运营商可用于我。 谢谢!

JavaScriptasynchronous编程:承诺vs生成器

Promise和生成器允许您编写asynchronous代码。 我不明白为什么这两种机制都是在ECMA脚本6中引入的。什么时候最好使用promise,什么时候使用generator?

为什么ES6课堂没有悬挂?

由于ES6类仅仅是JavaScript现有的基于原型的inheritance的一种语法糖 [1],所以(IMO)提高它的定义是有意义的: var foo = new Foo(1, 2); //this works function Foo(x, y) { this.x = x; this.y = y; } 但以下将无法正常工作: var foo = new Foo(1, 2); //ReferenceError class Foo { constructor(x, y) { this.x = x; this.y = y; } } 为什么ES6课程没有悬挂?

地图与对象在ES6,何时使用?

参考:MDN地图 当键未知时,使用映射到对象上,直到运行时,以及所有键都是相同types,并且所有值都是相同types。 当存在对单个元素进行操作的逻辑时使用对象。 题: 什么是在地图上使用对象的适用示例? 特别是“什么时候键直到运行时才知道?” var myMap = new Map(); var keyObj = {}, keyFunc = function () { return 'hey'}, keyString = "a string"; // setting the values myMap.set(keyString, "value associated with 'a string'"); myMap.set(keyObj, "value associated with keyObj"); myMap.set(keyFunc, "value associated with keyFunc"); console.log(myMap.get(keyFunc));

.map()一个JavaScript的ES6地图?

你会怎么做? 本能地,我想这样做: var myMap = new Map([["thing1", 1], ["thing2", 2], ["thing3", 3]]); // wishful, ignorant thinking var newMap = myMap.map((key, value) => value + 1); // Map { 'thing1' => 2, 'thing2' => 3, 'thing3' => 4 } 我没有从新的迭代协议的文档收集很多。 我知道wu.js ,但是我正在运行一个Babel项目,不想包含Traceur , 它似乎依赖于它 。 对于如何将fitzgen / wu.js做成我自己的项目,我也有点无知。 我会喜欢一个清晰,简洁的解释,我在这里失踪。 谢谢! 文件为ES6地图 ,FYI

用标准networking技术替代angular度

我正在开发一个项目,在最新的浏览器上使用ECMA 6,这个产品将在1.5年内发货。 所以我们认为为什么不使用Web Components现在Angular 2不可用(这将是ECMA 6)。 而当我们在这个时候,我们可以完全取代Angular而不必回到石器时代吗? 如何取代Angular? 有一个叫做youmightnotneedjquery.com的网站,基本上是关于现代浏览器实际上是如何使用jQuery传统上的大多数东西的。 我有兴趣看到类似Angular的东西。 我们主要使用四个angular度特征。 我有什么替代他们的select? Angular Directives – > Web组件 Angular Modules – > ECMA 6模块 (不完全一样的东西) 有angular度的路线 – > angular度双向数据绑定 – > PS。 我们不想用类似Backbone或Ember的东西代替Angular。 我们希望用标准的networking技术取代它,但是如果我们必须使用小工具填补这个空白,我们会考虑它。

围绕箭头正文的意外的块声明

我正在使用"eslint-config-airbnb": "^6.1.0",以保持我的JavaScript清洁。 我的棉绒不喜欢什么似乎是合法的代码: 看来这可能是一个持续的问题 。 有没有人有任何build议,如何解决这个问题的OCD开发商? 也许禁用此规则或以其他方式?

如何将一个普通的对象转换成一个ES6映射?

出于某种原因,我无法在MDN文档中find这个简单的东西(也许我只是想念它)。 我期待这个工作: const map = new Map({foo: 'bar'}); map.get('foo'); // 'bar' …但第一行引发TypeError: (var)[Symbol.iterator] is not a function 我如何从一个普通的对象做一个地图? 我真的必须首先将其转换为一组键值对的数组吗?

将JavaScript的ES6承诺支持“做”的API?

例如 p = new Promise(function (resolve, reject) { throw 'err'; }); p.done(); 在大多数承诺的polyfill库中,done会抛出一个错误,并且当前的执行会退出。 但是,如果我们使用p.then() ,什么都不会发生。 这个错误被诺言吞噬了。 如果我们使用p.catch ,我们无法退出当前的执行。 我想实现这样的事情: try { // something } catch (err) { if (check(err)) { throw err; } }

在Angular 2中dynamic加载外部js脚本

我有这个模块将外部库与其他逻辑组件在一起,而不需要将<script>标签直接添加到index.html中: import '../../../path/file.html' //import '../js/file.js' @Component({ selector: 'my-app', template: ` <script src="http://iknow.com/this/does/not/work/either/file.js"></script> <div>Template</div>` }) export class MyAppComponent {…} 我注意到ES6规范的import是静态的,并且在TypeScript转译期间而不是在运行时被解决。 无论如何,使其可configuration,所以file.js将从CDN或本地文件夹加载? 如何让Angular 2dynamic加载脚本?