Tag: 箭头函数

箭头函数“expression预期”的语法错误

我想转换这个代码: var formatQuoteAmount = function (tx) { return Currency.toSmallestSubunit(tx.usd, 'USD'); }; var quoteAmounts = res.transactions.map(formatQuoteAmount); 变成一个匿名的箭头function。 我写了这个: var quoteAmounts = res.transactions.map(tx => Currency.toSmallestSubunit(tx.usd, 'USD')); 我在箭头处得到expression expected语法错误。 我查了这里的默认语法 ,似乎我的代码的语法是正确的。 任何想法可能是什么问题? 我有这个语法的工作: var quoteAmounts = res.transactions.map(function (tx) { return Currency.toSmallestSubunit(tx.usd, 'USD') }); 但是我想把它作为一个单线,带有箭头function。 在node v5.3.0上运行

使用jQuery $(this)和ES6箭头函数(lexical this binding)

使用ES6的箭头函数与词法this绑定是伟大的。 不过,我刚才遇到一个问题,使用它与一个典型的jQuery点击绑定: class Game { foo() { self = this; this._pads.on('click', function() { if (self.go) { $(this).addClass('active'); } }); } } 改为使用箭头function: class Game { foo() { this._pads.on('click', () => { if (this.go) { $(this).addClass('active'); } }); } } 然后$(this)被转换成ES5(self = this)types的闭包。 是否让Traceur忽略“$(this)”来进行词法绑定?

ES6立即调用箭头function

为什么在Node.js控制台(在4.1.1和5.3.0中testing)中工作,但在浏览器中不工作(在Chrome中testing)? 这个代码块应该创build并调用一个loggingOk的匿名函数。 () => { console.log('Ok'); }() 另外,虽然上述在Node中工作,但这不起作用: n => { console.log('Ok'); }() 也不是这样: (n) => { console.log('Ok'); }() 奇怪的是,当参数被添加时,它实际上会在立即调用的部分抛出一个SyntaxError 。

ES6 Arrow函数中有关`arguments`的官方信息?

(() => console.log(arguments))(1,2,3); // Chrome, FF, Node give "1,2,3" // Babel gives "arguments is not defined" from parent scope 根据Babel(以及我可以告诉TC39的初步build议),这是“无效的”,因为箭头函数应该使用它们的父范围作为参数。 我唯一能find的与此相矛盾的信息是一个单一的评论,说这被TC39拒绝了,但我找不到任何东西来支持它。 只是在这里寻找官方文档。

我可以使用ES6的箭头函数语法与发电机? (箭头符号)

即我如何expression这一点: function *(next) {} 与箭头。 我已经尝试了所有我能想到的组合,而且我也找不到任何文档。 (目前使用节点v0.11.14)

在ES6 / Typescript中使用_(下划线)variables和箭头函数

我以一个angular度的例子来看这个构造,我想知道为什么select这个: _ => console.log('Not using any parameters'); 我明白,variables_手段不关心/不使用,但因为它是唯一的variables是有什么理由更喜欢使用_ over: () => console.log('Not using any parameters'); 当然这不能less于一个字符的types。 ()语法更好地传达了我的意图,也是更具体的types,否则我认为第一个例子应该是这样的: (_: any) => console.log('Not using any parameters'); 如果重要的话,这就是它的使用环境: submit(query: string): void { this.router.navigate(['search'], { queryParams: { query: query } }) .then(_ => this.search()); }

如何在ES2015中编写一个命名的箭头函数?

我有一个函数,我试图转换为ES6中的新的箭头语法。 这是一个命名的function: function sayHello(name) { console.log(name + ' says hello'); } 有没有办法给它一个没有var声明的名字: var sayHello = (name) => { console.log(name + ' says hello'); } 显然,我只能在定义它之后才能使用这个函数。 如下所示: sayHello = (name) => { console.log(name + ' says hello'); } 在ES6中有没有新的方法呢?

什么时候应该在es6箭头函数中使用`return`?

新的es6箭头函数表示在某些情况下return是隐含的: 该expression式也是该函数的隐式返回值。 在哪些情况下,我需要使用es6箭头函数return ?

为什么不应该使用箭头函数或绑定?

我正在使用我的React应用程序运行lint,并收到此错误消息: error JSX props should not use arrow functions react/jsx-no-bind 这就是我正在运行箭头函数(在onClick ): {this.state.photos.map(tile => ( <span key={tile.img}> <Checkbox defaultChecked={tile.checked} onCheck={() => this.selectPicture(tile)} style={{position: 'absolute', zIndex: 99, padding: 5, backgroundColor: 'rgba(255, 255, 255, 0.72)'}} /> <GridTile title={tile.title} subtitle={<span>by <b>{tile.author}</b></span>} actionIcon={<IconButton onClick={() => this.handleDelete(tile)}><Delete color="white"/></IconButton>} > <img onClick={() => this.handleOpen(tile.img)} src={tile.img} style={{cursor: 'pointer'}}/> </GridTile> </span> ))} 这是一个不好的做法,应该避免? […]

ES6的箭头函数和Function.prototype.bind绑定的函数有什么区别(如果有的话)?

在我看来,在ES6中,以下两个函数几乎是相同的: function () { return this; }.bind(this); () => { return this; }; 最终的结果看起来是一样的:箭头函数产生一个JavaScript函数对象,它们的this上下文被绑定到与创build它们相同的值。 显然,在一般意义上, Function.prototype.bind比箭头函数更灵活:它可以绑定到除本地以外的值,并且可以在任何时间点绑定任何函数。 然而,我不是问如何bind本身是不同的箭头function,我问如何箭头function不同于立即调用bind与this 。 ES6中两个构造之间是否有区别?