Questions tagged «ecmascript-6»

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


2
反引号调用函数
我不确定如何解释,但是当我跑步时 console.log`1` 在谷歌浏览器中,我得到的输出像 console.log`1` VM12380:2 ["1", raw: Array[1]] 反引号为什么要调用log函数,为什么要对它进行索引raw: Array[1]? 由Catgocat在JS室提出的问题,但是除了关于模板化字符串的事情之外,没有其他任何答案是合乎情理的。

6
导入ECMAScript 6时出现“未捕获的SyntaxError:无法在模块外部使用import语句”
我正在使用ArcGIS JSAPI 4.12,并希望使用“ 空间幻觉”在地图上绘制军事符号。 当我添加milsymbol.js到脚本时,控制台返回错误 未捕获的SyntaxError:无法在模块外部使用import语句` 所以我添加type="module"到脚本中,然后返回 未捕获的ReferenceError:未定义ms 这是我的代码: <link rel="stylesheet" href="https://js.arcgis.com/4.12/esri/css/main.css"> <script src="https://js.arcgis.com/4.12/"></script> <script type="module" src="milsymbol-2.0.0/src/milsymbol.js"></script> <script> require([ "esri/Map", "esri/views/MapView", "esri/layers/MapImageLayer", "esri/layers/FeatureLayer" ], function (Map, MapView, MapImageLayer, FeatureLayer) { var symbol = new ms.Symbol("SFG-UCI----D", { size: 30 }).asCanvas(3); var map = new Map({ basemap: "topo-vector" }); var view = …



4
如何使用以下逻辑访问Object.prototype方法?
我正在使用以下逻辑来获取给定密钥的i18n字符串。 export function i18n(key) { if (entries.hasOwnProperty(key)) { return entries[key]; } else if (typeof (Canadarm) !== 'undefined') { try { throw Error(); } catch (e) { Canadarm.error(entries['dataBuildI18nString'] + key, e); } } return entries[key]; } 我在我的项目中使用ESLint。我收到以下错误: 不要从目标对象访问Object.prototype方法'hasOwnProperty'。这是“ no-prototype-builtins ”错误。 如何更改代码以解决此错误?我不想禁用此规则。

6
ES2015导入在Firefox中不起作用(即使在顶级)
这些是我的示例文件: <!DOCTYPE html> <html> <head> <title>Test</title> <script src="t1.js"></script> </head> <body></body> </html> t1.js: import Test from 't2.js'; t2.js: export const Test = console.log("Hello world"); 当我在Firefox 46中加载页面时,它返回“ SyntaxError:导入声明可能仅出现在模块的顶层”-但我不确定import语句可以在此处获得多少顶层。此错误是红色鲱鱼吗,并且尚不支持导入/导出吗?

13
.map()Javascript ES6 Map?
你会怎么做?本能地,我想做: 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,它似乎当前依赖于Traceur。 对于如何将fitzgen / wu.js如何提取到我自己的项目中,我也一无所知。 很想清楚,简洁地说明我在这里缺少什么。谢谢! FYI的ES6地图文档

3
JSDoc中的文档分解功能参数
以前,我总是记录我的对象参数,如下所示: /** * Description of the function * * @param {Object} config - The configuration * @param {String} config.foo * @param {Boolean} [config.bar] - Optional value * @return {String} */ function doSomething (config = {}) { const { foo, bar } = config; console.log(foo, bar); // do something } 但是我不确定使用分散的函数参数最好的方法是什么。我只是忽略对象,以某种方式定义它还是记录它的最佳方法是什么? …


6
在迭代器上使用map()
假设我们有一个Map :,let m = new Map();使用会m.values()返回一个地图迭代器。 但我不能在迭代器上使用forEach()或map(),并且在该迭代器上实现while循环似乎是一种反模式,因为ES6提供了的功能map()。 那么有没有办法map()在迭代器上使用?

2
ES2015(ES6)`class`语法有什么好处?
我对ES6类有很多疑问。 使用class语法有什么好处?我读到public / private / static将成为ES7的一部分,这是原因吗? 而且,是class一种不同的OOP还是JavaScript的原型继承?我可以使用修改它.prototype吗?还是只是同一对象,而是两种不同的声明方法。 有速度好处吗?如果您拥有大型应用程序(例如大型应用程序),可能更容易维护/理解?

2
Reflect对象在JavaScript中做什么?
不久前,我在MDN上看到了Reflectjavascript中的对象的空白存根,但我一生无法在Google上找到任何东西。今天,我发现了这个http://people.mozilla.org/~jorendorff/es6-draft.html#sec-reflect-object,它听起来像Proxy对象,除了领域和加载器功能。 基本上,我不知道我找到的该页面是否仅说明了如何实现Reflect,还是我只是不明白其措辞。有人可以向我总体解释该Reflect怎么做吗? 例如,在我发现的页面上说,调用Reflect.apply ( target, thisArgument, argumentsList ) 将“返回使用参数thisArgument和args调用target的[[Call]]内部方法的结果。” 但这跟打电话不一样target.apply(thisArgument, argumentsList)吗? 更新: 感谢@Blue,我在Wiki http://wiki.ecmascript.org/doku.php?id=harmony:reflect_api&s=reflect上找到了此页面,据我所知,该页面 表示reflect对象提供了所有方法的版本代理可以捕获的使转发更容易的操作。但这对我来说有点奇怪,因为我不知道它是多么完全必要。但它似乎可以做得更多,尤其是上面提到的标准,double-lifting但这指向了旧的代理规范/

6
在使用create-react-app的React应用程序中充填ES6功能的最佳方法
我一直在Internet Explorer上测试我的React.js应用程序,发现有些ES6 / 7代码Array.prototype.includes()会破坏它。 我正在使用create-react-app,并且显然它们选择不包含很多polyfill,因为并不是每个人都需要它们,并且它们会减慢构建时间(请参见此处和此处的示例)。该文档(在撰写本文时)建议: 如果您使用任何其他需要运行时支持的ES6 +功能(例如Array.from()或Symbol),请确保手动包括适当的polyfill,或者要使用的浏览器已经支持它们。 那么... “手动”包括它们的最佳方法是什么?


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.