我一直在阅读一堆react代码,我看到这样的东西,我不明白: handleChange = field => e => { e.preventDefault(); /// Do something here }
我已经在几个地方读到了,关键的区别是“ this是箭头函数的词汇绑定”。 这一切都很好,但我实际上并不知道这意味着什么。 我知道这意味着它在定义函数体的大括号的范围内是唯一的,但我实际上不能告诉你下面的代码的输出,因为我不知道this是指什么,除非它指的是胖箭头function本身….这似乎并不有用。 var testFunction = () => { console.log(this) }; testFunction();
当从箭头函数返回一个对象时,由于语法中的含糊不清,似乎有必要使用额外的一组{}和一个return语句: p => { return { foo: 'bar' } } 如果箭头函数返回其他内容,那么{}和return是不必要的,例如: p => 'foo' 有什么明显的我失踪?
我知道>=运算符意味着大于或等于,但是我在某些源代码中看到了=> 。 那个操作员的意思是什么? 代码如下: promiseTargetFile(fpParams, aSkipPrompt, relatedURI).then(aDialogAccepted => { if (!aDialogAccepted) return; saveAsType = fpParams.saveAsType; file = fpParams.file; continueSave(); }).then(null, Components.utils.reportError); }
规范性问题如果在用箭头函数replace函数声明/expression式后发现有关问题的问题,请将其作为该函数的副本closures。 ES2015中的箭头function提供更简洁的语法。 我现在可以用箭头函数replace我所有的函数声明/expression式吗? 我需要注意什么? 例子: 构造函数 function User(name) { this.name = name; } // vs const User = name => { this.name = name; }; 原型方法 User.prototype.getName = function() { return this.name; }; // vs User.prototype.getName = () => this.name; 对象(文字)方法 const obj = { getName: function() { // … } }; // vs const […]