7 ES6 Map和WeakMap有什么区别? 看这个和这个 MDN页面,似乎Maps和WeakMaps之间的唯一区别是WeakMaps缺少了“ size”属性。但这是真的吗?它们之间有什么区别? 92 javascript ecmascript-6 ecmascript-harmony weakmap
2 反引号调用函数 我不确定如何解释,但是当我跑步时 console.log`1` 在谷歌浏览器中,我得到的输出像 console.log`1` VM12380:2 ["1", raw: Array[1]] 反引号为什么要调用log函数,为什么要对它进行索引raw: Array[1]? 由Catgocat在JS室提出的问题,但是除了关于模板化字符串的事情之外,没有其他任何答案是合乎情理的。 92 javascript ecmascript-6 template-strings template-literals tagged-templates
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 = … 91 javascript ecmascript-6 arcgis arcgis-js-api
3 如何在vue.js Webpack项目上正确设置favicon.ico? 我使用创建了一个vue webpack项目vue-cli。 vue init webpack myproject 然后在dev模式下运行项目: npm run dev 我收到此错误: 加载资源失败:服务器响应状态为404(未找到)http:// localhost:8080 / favicon.ico 那么在webpack中,如何favicon.ico正确导入? 91 html ecmascript-6 webpack vue.js favicon
6 使用扩展语法和带有Typescript的新Set() 我正在使用以下代码来获取唯一编号: let uniques = [ ...new Set([1, 2, 3, 1, 1]) ]; // [1, 2, 3] 但是,打字稿报告以下错误:Type'Set '不是数组类型。 我不是忍者打字稿,有人可以告诉我这是怎么回事吗? 91 javascript typescript ecmascript-6 spread-syntax
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 ”错误。 如何更改代码以解决此错误?我不想禁用此规则。 91 javascript ecmascript-6 eslint
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语句可以在此处获得多少顶层。此错误是红色鲱鱼吗,并且尚不支持导入/导出吗? 90 javascript html firefox ecmascript-6 es6-modules
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地图文档 89 javascript ecmascript-6
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 } 但是我不确定使用分散的函数参数最好的方法是什么。我只是忽略对象,以某种方式定义它还是记录它的最佳方法是什么? … 89 arguments ecmascript-6 jsdoc destructuring
3 JavaScript对象文字:{a,b,c}到底是什么? 我的问题最好通过以下方式给出 此jsfiddle给出,其代码如下: var a = 1, b = 'x', c = true; var d = {a: a, b: b, c: c}; // <--- object literal var e = [a, b, c]; // <--- array var f = {a, b, c}; // <--- what exactly is this?? // these all give … 88 javascript ecmascript-6
6 在迭代器上使用map() 假设我们有一个Map :,let m = new Map();使用会m.values()返回一个地图迭代器。 但我不能在迭代器上使用forEach()或map(),并且在该迭代器上实现while循环似乎是一种反模式,因为ES6提供了的功能map()。 那么有没有办法map()在迭代器上使用? 88 javascript dictionary syntax ecmascript-6 iterator
2 ES2015(ES6)`class`语法有什么好处? 我对ES6类有很多疑问。 使用class语法有什么好处?我读到public / private / static将成为ES7的一部分,这是原因吗? 而且,是class一种不同的OOP还是JavaScript的原型继承?我可以使用修改它.prototype吗?还是只是同一对象,而是两种不同的声明方法。 有速度好处吗?如果您拥有大型应用程序(例如大型应用程序),可能更容易维护/理解? 87 javascript ecmascript-6
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但这指向了旧的代理规范/ 87 javascript ecmascript-6
6 在使用create-react-app的React应用程序中充填ES6功能的最佳方法 我一直在Internet Explorer上测试我的React.js应用程序,发现有些ES6 / 7代码Array.prototype.includes()会破坏它。 我正在使用create-react-app,并且显然它们选择不包含很多polyfill,因为并不是每个人都需要它们,并且它们会减慢构建时间(请参见此处和此处的示例)。该文档(在撰写本文时)建议: 如果您使用任何其他需要运行时支持的ES6 +功能(例如Array.from()或Symbol),请确保手动包括适当的polyfill,或者要使用的浏览器已经支持它们。 那么... “手动”包括它们的最佳方法是什么? 87 javascript reactjs ecmascript-6 create-react-app ecmascript-7
4 在ES6中过滤或映射节点列表 在ES6中筛选或映射节点列表的最有效方法是什么? 根据我的阅读,我将使用以下选项之一: [...nodelist].filter 要么 Array.from(nodelist).filter 您会推荐哪一个?是否有更好的方法,例如不涉及数组? 87 javascript arrays filter ecmascript-6 nodelist