ecmascript-6相关内容

如果我屈服于承诺,等待承诺得到解决,然后再继续

我正在努力了解如何使用生成器函数和迭代器来实现我正在考虑编写的库的各种设计选项。 已经过了简单的生成器功能,我现在正在互联网上的例子中挣扎出来,展示如何将生成器与Promises集成在一起。 一个问题是所有的文章都是在ES2015规范之前编写的承诺是可用的,他们都使用3方图书馆,我不知道是什么细微差别。 所以我不太明白的问题是,如果你屈服和发生器函数调用.next(Promise ..
发布时间:2017-08-03 21:05:36 前端开发

导入模块只是为了运行它

我有一个JavaScript文件,用于注册我正在使用的表单验证库的验证器。这些验证器可以通过该库访问,所以我不需要在任何地方导入它,我只需要确保它运行一次。 如何在es6中以这种方式导入模块? 项目中最好的方法是什么?我目前在我的主要js文件中启动,但该文件与表单或数据验证无关,因此感觉有点awkwared 解决方案 如何在es6中以这种方式导入模块? 您可以使用 ..
发布时间:2017-08-03 21:05:11 前端开发

我读过EcmaScript规范,某些方法是“通用的”。这是什么意思?

我读了EcmaScript规范,某些方法是“通用的”。这是什么意思? 这是否意味着这些方法对绑定到的对象做出很少或根本没有假设这个调用函数时的值? 解决方案 这是否意味着方法很少或没有当函数被调用时,关于绑定到该值的对象的假设? 正是这样。每当您阅读术语“通用方法”,“有意通用”或“不通用”时,明确指出该函数是通用的(否则):此值(接收器)是具有特定内部插槽的某种对象。 ( ..
发布时间:2017-08-03 21:04:34 前端开发

如何在JavaScript对象数组中找到重复值,并仅输出唯一值?

我正在学习JS。假设我有以下数组的对象: var family = [ { name:“Mike “, age:10 }, { name:”Matt“ age:13 }, { 名称:“Nancy”, 年龄:15 }, { 名称:“Adam”, 年龄:22 }, { 名称:“珍妮”, 年龄:85 }, { 名称:“南希”, 年龄:2 }, { name:“ ..
发布时间:2017-08-03 21:03:40 前端开发

如何在严格模式下获取函数名[正确的方式]

参数.callee unfortunatelly 已弃用,并使用它在”严格模式“中引发错误。 是否有新的正确(标准)在实际功能中获取功能名称的替代方案 还是将来在未来的计划ECMA6,7? 最近的 answer 不过是肮脏的黑客,对我而言是不可接受的。 和 arguments.callee.caller.name 不工作(nodejs v7.5.0) 解决方案 是否 ..
发布时间:2017-08-03 21:03:28 前端开发

TypeScript在带有Bluebird的ES5中使用动态导入

我试图在TypeScript中使用新的动态 import()函数,但是我收到以下错误: TS2712: ES5 / ES3中的动态导入呼叫需要“Promise” 构造函数。确保你有一个声明为'promise' 构造函数或包含'ES2015'在您的 - lib 选项。 我可以在我的tsconfig中包含消息建议的 ES2015.promise lib,但这会让我失去类型安全,因为我正 ..
发布时间:2017-08-03 21:03:15 前端开发

ES6:将两个数组合并成一个对象数组

第一个数组是日期(字符串): let metrodates = [ “2008-01”, “2008-02”, “2008 -03“,.. ect ]; 第二个数组是数字: let figures = [ 0, 0.555, 0.293,... ect ] 我想将它们合并成一个这样的对象(所以数组项通过相似的索引来匹配): ..
发布时间:2017-08-03 21:03:02 JavaScript

使用默认参数破坏falsey和null

我正在尝试了解如何使用默认参数来破坏false和null值。以下是我已经运行的一些例子: //#1 const person = {email:'a @ example.com'} const {email =''} = person //电子邮件是'a@example.com' //#2 const person = {email:''} const {emai ..
发布时间:2017-08-03 21:02:47 前端开发

在数组中合并两个对象

我有这个数组 var arr1 = [{id:1,name:“lorem”},{id: 1,name:“ipsum”},{id:2,name:“dolor”}] 正如你可以在这里看到前两个索引,他们得到相同的 id ,我想要输出为这样的东西 newArr [ { id:1, 名称:[“lorem”,“ipsum”] }, { id:2 ..
发布时间:2017-08-03 21:01:58 前端开发

有没有相当于“window”的es6模块范围?

在Javascript中,我们可以使用窗口对象在任何时候添加全局变量: 'use strict'; var a = 1; function test(){window.b = }试验();执行console.log(a)的// aconsole.log(b); // b 是否有类似的(或不相似的! )方法为ES6中的当前模块范围分配vars 谢谢 解决方 ..
发布时间:2017-08-03 21:01:44 前端开发

迭代器和JavaScript中的生成器?

在Mozilla页面上,迭代器和生成器有一个声明: 虽然自定义迭代器是一个有用的工具,但由于需要明确维护他们的自定义迭代器,它们的创建需要 精心编程 内部状态。发电机提供了一个强大的替代方案:它们允许 通过编写一个单独的函数 定义一个迭代算法,它可以保持自己的状态。 关于上述说明,不可能在没有生成器的情况下编写迭代算法,例如: Array [Symbol.iterato ..
发布时间:2017-08-03 21:01:18 前端开发