Questions tagged «ecmascript-6»

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

5
使用webpack从目录动态导入图像
因此,这是我当前通过ES6导入Webpack中的图像和图标的工作流程: import cat from './images/cat1.jpg' import cat2 from './images/cat2.svg' import doggy from './images/doggy.png' import turtle from './images/turtle.png' <img src={doggy} /> 这变得很快。这就是我想要的: import * from './images' <img src={doggy} /> <img src={turtle} /> 我觉得必须有某种方法可以动态地从特定目录中导入所有文件(不带扩展名),然后根据需要使用这些文件。 任何人都看过此事,或者对最佳解决方案有任何想法? 更新: 使用选择的答案,我能够做到这一点: function importAll(r) { let images = {}; r.keys().map((item, index) => { images[item.replace('./', '')] = r(item); …


10
如何在ES6中不必使用super来扩展类?
是否可以在ES6中扩展类而无需调用super方法来调用父类? 编辑:这个问题可能会引起误解。这是我们必须打电话的标准,super()还是我遗漏了一些东西? 例如: class Character { constructor(){ console.log('invoke character'); } } class Hero extends Character{ constructor(){ super(); // exception thrown here when not called console.log('invoke hero'); } } var hero = new Hero(); 当我不调用super()派生类时,我遇到了范围问题->this is not defined 我正在v2.3.0中使用iojs --harmony运行它

3
使用babel时需要使用js吗?
我正在试验ES6,然后我使用gulp进行构建并通过babel移植到ES5。输出未在节点中运行,只是通过标签从.htm文件链接到该节点。我想我需要补充 <script src='require.js'></script> 或类似的东西。 我正在尝试导入/导出。 ////////////////scripts.js import {Circle} from 'shapes'; c = new Circle(4); console.log(c.area()); /////////////////shapes.js export class Circle { circle(radius) { this.radius = radius; } area() { return this.radius * this.radius * Math.PI; } } 错误是 Uncaught ReferenceError: require is not defined 引用此(在gulp中的.pipe(babel())之后) var _shapes = require('shapes');

3
JSON将集合字符串化
如何将一个JSON.stringify()一集? 在Chromium 43中不起作用的事情: var s = new Set(['foo', 'bar']); JSON.stringify(s); // -> "{}" JSON.stringify(s.values()); // -> "{}" JSON.stringify(s.keys()); // -> "{}" 我希望得到类似于序列化数组的内容。 JSON.stringify(["foo", "bar"]); // -> "["foo","bar"]"

3
没有var的对象分解
如果对象解构var前面没有关键字,为什么会抛出错误? {a, b} = {a: 1, b: 2}; 抛出 SyntaxError: expected expression, got '=' 以下三个示例可以正常工作 var {a, b} = {a: 1, b: 2}; var [c, d] = [1, 2]; [e, f] = [1, 2]; 额外的问题:为什么我们不需要var数组解构? 我在做类似的事情时遇到了问题 function () { var {a, b} = objectReturningFunction(); // Now a and b are …

2
解决后,为什么javascript ES6 Promises继续执行?
据我了解,promise是可以resolve()或reject()的东西,但令我惊讶的是,发现promise中的代码在调用了resolve或reject之后仍继续执行。 我认为resolve或reject是exit或return的异步友好版本,它将终止所有立即执行的函数。 有人可以解释为什么下面的示例有时会在resolve调用后显示console.log的原因: var call = function() { return new Promise(function(resolve, reject) { resolve(); console.log("Doing more stuff, should not be visible after a resolve!"); }); }; call().then(function() { console.log("resolved"); }); jsbin

6
如何克隆JavaScript ES6类实例
如何使用ES6克隆Javascript类实例。 我对基于jquery或$ extend的解决方案不感兴趣。 我看到过很多有关对象克隆的讨论,这些讨论表明问题很复杂,但是使用ES6时,它本身就可以提供一个非常简单的解决方案-我将其放在下面,看看人们是否认为它令人满意。 编辑:有人建议我的问题是重复的;我看到了这个答案,但它已有7年历史,并且使用ES6之前的js涉及非常复杂的答案。我建议我的问题(允许使用ES6)有一个非常简单的解决方案。

6
ES6对象中的方法:使用箭头功能
在ES6中,这两个都是合法的: var chopper = { owner: 'Zed', getOwner: function() { return this.owner; } }; 并且,作为速记: var chopper = { owner: 'Zed', getOwner() { return this.owner; } } 是否可以使用新的箭头功能?在尝试类似 var chopper = { owner: 'John', getOwner: () => { return this.owner; } }; 要么 var chopper = { owner: 'John', getOwner: …

12
是否可以对ES6地图对象进行排序?
是否可以对es6映射对象的条目进行排序? 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 }, 1: {"2-1", foo } }




4
“……解析为非模块实体并且无法使用此构造导入”是什么意思?
我有一些TypeScript文件: MyClass.ts class MyClass { constructor() { } } export = MyClass; 我的功能 function fn() { return 0; } export = fn; 我的消费者 import * as MC from './MyClass'; import * as fn from './MyFunc'; fn(); 这在尝试使用时给我错误 new 模块“ MyClass”解析为非模块实体,无法使用此构造导入。 当尝试打电话时 fn() 无法调用类型缺少调用签名的表达式。 是什么赋予了?

1
漂亮的eslint,eslint的插件prettier和eslint的配置prettier有什么区别?
我想同时使用Prettier和ESLint,但是仅通过一个接一个地使用它们,我遇到了一些冲突。我看到似乎有这三个软件包可以让它们串联使用: prettier-eslint eslint-plugin-prettier eslint-config-prettier 但是,我不确定要使用哪个包名称,因为它们都包含eslint和prettier。 我应该使用哪个?

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.