草庐IT

javascript - VSCode Linter ES6 ES7 Babel linter

如何使用VisualStudiocode根据babel/ES7stage-0规则对JavaScript文件进行lint?我只需要lint代码。我已经有webpack转译Js文件了。 最佳答案 我如何进行:全局安装eslint:npminstall-geslint安装babel-eslint:npminstall--save-devbabel-eslint安装eslint-plugin-react:npminstall--save-deveslint-plugin-react在您的根目录中创建.eslintrc文件。这是我的配置:{"

javascript - 使用动态名称在 ES6 中创建类的实例?

这个问题在这里已经有了答案:CreateobjectfromclassnameinJavasScriptECMAScript6(8个答案)关闭6年前。我希望能够通过将字符串变量传递给函数来实例化特定的ES6类。根据变量的值,将创建不同的类。示例-我有2个类,ClassOne,ClassTwo。我希望能够将变量传递给函数并返回一个新类。类的名称将与变量相关-例如。传递'Two'将创建ClassTwo。我不想像这样使用switch子句:functioncreateRelevantClass(desiredSubclassName){letargs=[],newClass;switch(de

javascript - ES6 箭头函数中关于 `arguments` 的官方信息?

(()=>console.log(arguments))(1,2,3);//Chrome,FF,Nodegive"1,2,3"//Babelgives"argumentsisnotdefined"fromparentscope根据Babel(以及我所知道的最初的TC39建议),这是“无效的”,因为箭头函数应该使用它们的父作用域作为参数。我能找到的唯一与此矛盾的信息是一条评论说这被TC39拒绝了,但我找不到任何东西来支持这一点。只是在这里寻找官方文档。 最佳答案 chrome、ff、node这里好像是错的,babel是对的:箭头函数在

javascript - ES6 模块 : Export single class of static methods OR multiple individual methods

我正在使用ECMAScript6模块。从以下选项中从模块导出/导入多个方法的正确方法是什么?单类静态方法://------myClass.js------exportdefaultclassmyClass{staticmyMethod1(){console.log('foo');}staticmyMethod2(args...){console.log('bar');}}//------app.js------importmyClassfrom'myClass';myClass.myMethod1();//foo多个导出方法://------myMethods.js------expo

javascript - ES6 模块导入是否挂起?

我知道在新的ES6模块语法中,JavaScript引擎不必评估代码来了解所有导入/导出,它只会解析它并“知道”要加载什么。这听起来像是吊装。ES6模块是否吊装?如果是这样,它们是否会在运行代码之前全部加载?这段代码可行吗?importmyFunc1from'externalModule1';myFunc2();if(Math.random()>0.5){importmyFunc2from'externalModule2';} 最佳答案 经过更多的研究,我发现:导入已暂停!根据specModuleDeclarationInstanti

javascript - Karma、PhantomJS 和 es6 Promises

我正在编写一个使用新的es6promise的JavaScript库。我可以在Firefox中测试该库,因为已定义promise。但是,当我尝试使用Karma和PhantomJS测试我的代码时,出现错误Can'tfindvariable:Promise.。我猜这是因为PhantomJS浏览器还不支持es6promises。我如何配置Karma以引入promise的polyfill? 最佳答案 您只需安装BabelPolyfill即可引入Babelpolyfill:npminstall--save-devbabel-polyfill然后

javascript - 如何在 ES6 中解构为动态命名的变量?

假设我有以下对象:constuser={id:42,displayName:"jdoe",fullName:{firstName:"John",lastName:"Doe"}};而且我只需要id和fullName。我会做以下事情:const{id,fullName}=user简单易行,对吧?现在假设我想根据另一个名为fields的变量的值进行解构。constfields=['id','fullName']现在我的问题是:如何根据键数组进行解构?我无耻地尝试了以下但没有成功:让{[{...fields}]}=用户和让{[...fields]}=用户。有什么办法可以做到这一点?谢谢

javascript - 使用 webpack 输出一个 ES 模块

使用Rollup,我可以通过简单地将format选项设置为'es'来输出一个ES模块。我怎样才能用webpack做同样的事情?如果现在不能的话,webpack有没有计划加入呢?我在documentationforoutput.libraryTarget中找到的唯一东西提到ES模块的是这样的:libraryTarget:"commonjs-module"-Exposeitusingthemodule.exportsobject(output.libraryisignored),__esModuleisdefined(it'sthreadedasES2015Moduleininteropm

javascript - @@ ("at at") 在 ES6 JavaScript 中是什么意思?

我注意到在few中使用了@@pages关于新的ES6特性,但我不知道它到底是什么意思(它实际上是语法还是某种文档约定)。而且很难用谷歌搜索。谁能解释一下? 最佳答案 @@描述所谓的众所周知的符号。(请注意,它实际上不是JS中的有效语法。)根据ES6/ES20151specification:Well-knownsymbolsarebuilt-inSymbolvaluesthatareexplicitlyreferencedbyalgorithmsofthisspecification.Theyaretypicallyusedasth

javascript - ES6 模块导入是否执行导入文件中的代码?

js文件中的代码是否在导入过程中运行?如果是,那么是一次还是每次?例如//a.jsconsole.log("A");consta="a";exportdefaulta;//b.jsimportafrom"./a";//=>consolelogs?//c.jsimportafrom"./a";//=>consolelogsagain? 最佳答案 是的,确实如此,恰好一次。参见http://www.ecma-international.org/ecma-262/6.0/#sec-abstract-module-records:Donot