草庐IT

javascript - ES6 类默认值

是否可以创建一个ES6类,如果它没有在新方法中传递,则将默认值分配给属性?classmyClass{constructor(options){this.a=typeofoptions.a!=='undefined'?options.a:'defaultavalue';this.b=typeofoptions.b!=='undefined'?options.b:'defaultbvalue';this.c=typeofoptions.c!=='undefined'?options.c:'defaultcvalue';}}varmyClassWithValue=newmyClass({a:

javascript - ES6 导出默认函数

我可以为每个文件导出多个函数吗?似乎当我这样做时,第二个函数超越了第一个函数,例子:在我的index.js文件中:exportdefaultfunctionaFnt(){console.log("functiona");}exportdefaultfunctionbFnt(){console.log("functionb");}然后当我将它导入我的文件时:importaFntfrom"./index";console.log("aFnt:",aFnt);console.log的结果是bFnt这里到底是怎么回事?我必须为每个函数创建一个新文件吗?这不是很实用,有什么解决方案或解决方法吗?

javascript - 箭头函数语法 (=> )' is only available in ES6 (use ' esversion : 6')

目前我正在使用Protractor/grunt运行我的测试,但我收到以下错误消息:'arrowfunctionsyntax(=>)'isonlyavailableinES6(use'esversion:6').我认为我的.jshintrc文件没有被读取,因为我添加了这个条件。.jshintrc{"esversion":6}Gruntfile.jsjshint:{all:["tests/API/**/*.js"],options:{undef:true,mocha:true,node:true,jshintrc:true,esversion:6,globals:{require:true

javascript - ES6 模块 - 为什么命名的 const 导出不是只读的

我去过readingaboutESmodules并进行实验并偶然发现了一个我无法解释的案例://settings.jsexportconstFOO=42;exportconstBAR=5;//main1.jsimport*assettingsfrom'./settings';settings.FOO=1;//main2.jsimport{FOO,BAR}from'./settings'FOO=1;在main1.js中,我可以通过settings变量覆盖const值,但在main2.js中我不能(正如预期的那样)。(理论上的)问题是为什么在第一种情况下可以覆盖const值?创建“只读Vi

javascript - 如何将 Immutable JS 与类型化的 ES6 类一起使用?

假设我有课Task和TaskGroupclassTask{constructor(publictext:string){}}classTaskGroup{constructor(publictitle:string="newtaskgroup",publictasks:Task[]=[]){}}然后在我的Angular2服务中,我将创建一个不可变的任务组列表@Injectable()classTaskService{taskGroups:Immutable.List;constructor(){this.taskGroups=Immutable.List([newTaskGroup("

javascript - 理解 ES6 符号

当涉及到语言时,我一直处于困境中,从C#到Lisp到Scala到Haskell,在每一种支持它们的语言中,符号的行为几乎都是一样的;也就是说,任何两个具有相同名称的符号都保证是相同的,因为它们是单例对象。Racket:(equal?'foo'foo)trueCommonLisp:(eq'foo'foo)trueruby::foo==:footrueScala:'foo=='footrueES6:Symbol('foo')===Symbol('foo')false符号作为单例的好处是显而易见的:您可以在map/字典中使用它们,而不必冒您的key不等于您的输入的风险,因为语言突然决定以不同

javascript - Flowtype 中的 ES6 map

处理ecmascript-6的适当方式是什么?Mapflowtype中的对象?constanimals:Map=newMap();functionfeedAnimal(cageNumber:number){constanimal:Animal=animals.get(cageNumber);...}错误constanimal:Animal=animals.get(cageNumber);^^^^^^^^^^^^^^^^^^^^^^^^callofmethod`get`constanimal:Animal=animals.get(cageNumber);^^^^^^^^^^^^^^^^^

javascript - ES6/下一个 : object destructuring with rest - grouping

我有:constprops={gallery:[],select:()=>null,one:1,two:2,}我可以用以下方式解构它:const{gallery,select,...other}=props我现在将有三个变量:图库=[]选择=()=>nullother={one:1,two:2}是否可以解构为指定的分组?类似这样的事情(这是行不通的,但我希望清楚地看到我正在尝试做什么):const{{gallery,select}:specific,...other}=props所以我将有2个变量:具体={gallery:[],select:()=>null}other={one:1,

全局窗口中无法访问 Javascript ES6 类定义

我遇到了一个有趣的问题,至少我认为它很有趣,而且有点烦人。我有一个类,对于这个问题,我将使其非常简单......classFoo{staticpageChange(){console.log('Thepagechanged');}}现在,我可以使用Foo.pageChange()访问它,没问题,一切都按预期进行。当我尝试动态访问它时,困难的部分和有趣的部分出现了。我有一个单独的对象来监视事件并根据需要处理它们的调度。这与Google可视化库有关,我在其中有一个表,该表有与之相关的事件。我有一个对象负责从PHP输出创建所有这些。这是一个非常棒的系统,在一个简单的解释中,您可以在PHP中执

javascript - 返回语句中的 ES6 解构

是否可以在返回对象的同时解构它。例如,要更改此代码:constmapStateToProps=({newItem})=>{const{id,name,price}=newItem;return{id,name,price};}像这样:constmapStateToProps=({newItem})=>{return{id,name,price}=newItem;} 最佳答案 不,这不可能。(免责声明:您的语法有效并且可以解构和返回,但它等同于({id,name,price}=newItem);//assignsglobalvaria