草庐IT

es6-features

全部标签

javascript - at 符号 (@) 在 ES6 javascript 中的作用是什么? (ECMAScript 2015)

我正在查看一些ES6代码,但我不明白@符号放在变量前面时的作用。我能找到的最接近的东西与私有(private)字段有关?我从reduxlibrary查看的代码:importReact,{Component}from'react';import{bindActionCreators}from'redux';import{connect}from'redux/react';importCounterfrom'../components/Counter';import*asCounterActionsfrom'../actions/CounterActions';@connect(state

javascript - ES6 导出默认值,多个函数相互引用

在es6中你可以像这样定义一个函数模块exportdefault{foo(){console.log('foo')},bar(){console.log('bar')},baz(){foo();bar()}}上面的代码似乎是有效的代码,但如果我调用baz()它会抛出一个错误:ReferenceError:foo未定义如何从另一个函数调用foo?在这种情况下baz编辑这是实际上不起作用的代码。我已经简化了代码,所以它只是需要的核心consttokenManager={revokeToken(headers){...},expireToken(headers){...},verifyTok

javascript - .map() 一个 Javascript ES6 map ?

你会怎么做?本能地,我想做:varmyMap=newMap([["thing1",1],["thing2",2],["thing3",3]]);//wishful,ignorantthinkingvarnewMap=myMap.map((key,value)=>value+1);//Map{'thing1'=>2,'thing2'=>3,'thing3'=>4}我没有从documentationonthenewiterationprotocol中收集到太多信息.我知道wu.js,但我正在运行Babel项目,不想包括Traceur,这itseemslikeitcurrentlydepen

javascript - 使用 webpack、ES6 和 Babel 进行调试

这看起来应该是相对容易实现的事情,但是唉。我有ES6类:'usestrict';exportclassBaseModel{constructor(options){console.log(options);}};和使用它的根模块:'usestrict';import{BaseModel}from'./base/model.js';exportletinit=functioninit(){console.log('InBundle');newBaseModel({a:30});};我的目标是:通过Babel传递上述代码,得到ES5代码使用webpack打包模块能够调试结果经过一些尝试,这

javascript - React.js ES6 避免将 'this' 绑定(bind)到每个方法

最近,我开始研究React.js,我喜欢它。我从常规的ES5开始,以便掌握一些东西,文档都是用ES5编写的...但现在我想试试ES6,因为它Shiny而新颖,而且它似乎确实简化了一些事情。令我非常困扰的是,对于我添加到组件类中的每个方法,我现在都必须将“this”绑定(bind)到,否则它将不起作用。所以我的构造函数最终看起来像这样:constructor(props){super(props);this.state={...someinitialstate...}this.someHandler=this.someHandler.bind(this);this.someHandler

javascript - ES6 模板文字是否比字符串连接更快?

在ES6中使用字符串连接或模板文字时,HTML代码生成在现代浏览器中的运行速度是否显着加快?例如:字符串连接""+""+""+date+""+""+""模板文字`${date}` 最佳答案 目前看来字符串连接速度更快:http://jsperf.com/es6-string-literals-vs-string-concatenationES6withvariable19,992,512±5.21%78%slowerStringconcatenationwithvariable89,791,408±2.15%fastestES6wi

javascript - 将 ES6 可迭代对象转换为数组

假设您有一个类似数组的JavascriptES6Iterable,您事先知道它的长度是有限的,将其转换为Javascript数组的最佳方法是什么?这样做的原因是很多js库如underscore和lodash只支持数组,所以如果你想在Iterable上使用它们的任何函数,必须先将它转换为数组。在python中,您可以只使用list()函数。ES6中是否有等效项? 最佳答案 您可以使用Array.from或spreadsyntax(...).例子:constx=newSet([1,2,3,4]);consty=Array.from(x)

javascript - ES6 - 在类中调用静态方法

我有一个对静态方法进行内部调用的类:exportclassGeneralHelperextendsBaseHelper{staticis(env){returnconfig.get('env:name')===env;}staticisProd(){returnGeneralHelper.is('prod');}}是否有任何关键字可以用来替换下面一行中的类名:GeneralHelper.is('prod');PHP中有self、static等,ES6有没有提供类似的东西?TY. 最佳答案 如果从实例内部调用静态函数,引用类静态函数的

带有大括号的 JavaScript (ES6) 常量

这个问题在这里已经有了答案:Javascriptobjectbracketnotation({Navigation}=)onleftsideofassign(5个答案)关闭7年前。我是ECMAScript6的新手,在尝试学习Ember的过程中,我偶尔会看到以下代码风格:const{abc,def}=Object;我搜索了Google和许多解释新ES6规范的网站。我知道这不是当前的实现,因为当我输入它时我的控制台会出错。这段代码是什么意思?我将这段代码粘贴到Babel'stranspiler中,这就是它返回的内容:"usestrict";varabc=Object.abc;vardef=

javascript - 使用 ES6 合并两个对象

这个问题在这里已经有了答案:HowdoImergetwojavascriptobjectstogetherinES6+?(6个答案)HowcanImergepropertiesoftwoJavaScriptobjectsdynamically?(69个答案)关闭6年前。我确定这个问题以前有人问过,但我找不到我正在寻找的答案,所以这里是:我有两个对象,如下:constresponse={lat:-51.3303,lng:0.39440}letitem={id:'qwenhee-9763ae-lenfya',address:'14-22ElderSt,London,E16BT,UK'}我需