arrow-functions相关内容
在我的代码中,我有一些东西可以归结为: var x = y ||()=>{}; (如果你想知道,我稍后会调用 x() 并且 y 可能被定义为一个函数,也可能不是,所以我不想如果不是,则抛出 TypeError.) 出于某种原因,这会导致 语法错误:意外的令牌) 为什么?我发现 var x = y ||(()=>{}); 工作正常,但是 y ||()=>{} 没用.这是
..
是否有理由编写 ES6 方法的经典语法? class MyClass {我的方法(){this.myVariable++;}} 当我使用 myMethod() 作为某个事件的回调时,我必须写这样的东西(在 JSX 中): //匿名函数.onClick={() =>{ this.myMethod();}}//或者绑定 this.onClick={this.myMethod.bind(this)
..
我正在阅读 ScrollListView 的源代码和几个我看到使用 () => 的地方{}. 如第 25 行, this.cellReorderThreshold = () =>{var ratio = (this.CELLHEIGHT*this.cellsWithinViewportCount)/4;回报率<this.CELLHEIGHT ?0:比率;}; 第 31 行, this.
..
我想弄清楚为什么对象字面量中的箭头函数是用 window 作为 this 调用的.有人可以给我一些见解吗? var arrowObject = {name: '箭头对象',打印名称:() =>{控制台日志(这个);}};//打印:Window {external: Object, chrome: Object ...}arrowObject.printName(); 一个按预期工作的对象:
..
当 ES6 箭头函数似乎不适用于将函数分配给具有原型对象的对象时.考虑以下示例: function Animal(name, type){this.name = 名称;this.type = 类型;this.toString = () =>`${this.name} 是一个 ${this.type}`;}var myDog = new Animal('Max', 'Dog');console.l
..
我在一个 Angular 示例中遇到了这个构造,我想知道为什么选择它: _ =>console.log('不使用任何参数'); 我知道变量 _ 表示不关心/不使用,但由于它是唯一的变量,因此有任何理由更喜欢使用 _ 而不是: () =>console.log('不使用任何参数'); 这肯定不能少打一个字符.在我看来,() 语法更好地传达了意图,而且类型也更具体,否则我认为第一个例子应该是这
..
我将 ReactJS 与 Babel 和 Webpack 一起使用,并使用 ES6 以及 建议的类字段 用于箭头函数.我知道箭头函数通过 not 提高了效率重新创建每个渲染的函数,类似于构造函数中的绑定工作方式.但是,我不能 100% 确定我是否正确使用它们.以下是我在三个不同文件中的代码的简化部分. 我的代码: Main.js prevItem = () =>{console.lo
..
(() => console.log(arguments))(1,2,3);//Chrome, FF, Node 给 "1,2,3"//Babel 从父作用域给出“未定义参数" 根据 Babel(以及我可以告诉最初的 TC39 建议),这是“无效的",因为箭头函数应该使用它们的父作用域作为参数.我能找到的唯一与此相矛盾的信息是一条评论说这被 TC39 拒绝了,但我找不到任何支持这一点的信息.
..
在我看来,在 ES6 中,以下两个函数非常几乎相同: function () {返回这个;}.bind(this);() =>{返回这个;}; 最终结果似乎相同:箭头函数生成一个 JavaScript 函数对象,其 this 上下文绑定到与创建它们的 this 相同的值. 显然,在一般意义上,Function.prototype.bind比箭头函数更灵活:它可以绑定到本地this以外的值,并
..
我有一个函数,我正在尝试将其转换为 ES6 中的新箭头语法.它是一个命名函数: function sayHello(name) {console.log(name + ' say hello');} 有没有办法在没有 var 语句的情况下给它一个名字: var sayHello = (name) =>{console.log(name + ' say hello');} 显然,我只能在定义
..
我正在使用 React 应用程序运行 lint,但收到此错误: error JSX props 不应该使用箭头函数 react/jsx-no-bind 这就是我运行箭头函数的地方(在 onClick 中): {this.state.photos.map(tile => (
..
有人可以,请解释以下内容: 我正在听丹·阿布拉莫夫 (Dan Abramov) 的讲座 &做练习. 代码工作正常,但是,当以下特定函数用大括号**{ }**编写时,测试失败. case 'toggleTodo' :返回 (state.map( (一) => {oneTodo(一,动作)})); 相同的代码没有大括号就可以正常工作. case 'toggleTodo' :返回
..
我们应该避免在 render 内部绑定方法,因为在重新渲染时它会创建新方法而不是使用旧方法,这会影响性能. 对于这样的场景: 我们可以在构造函数中绑定_handleChange方法: this._handleChange = this._handleChange.bind(this); 或者我们可以使用属性初始化语法: _handleChange = () =>{....} 现
..
我是 ES6 和 React 的新手,我一直看到箭头函数.为什么有些箭头函数在粗箭头后使用花括号,有些使用括号?例如: const foo = (params) =>(
内容
); 对比 const handleBar = (e) =>{e.preventDefault();dispatch('退出');}; 解决方案 括号返回单个值,大括号执行多行代码.
..
使用带有词法 this 绑定的 ES6 箭头函数很棒. 但是,我刚才在典型的 jQuery 单击绑定中使用它时遇到了一个问题: class 游戏 {富(){自我=这个;this._pads.on('点击', function() {if (self.go) { $(this).addClass('active');}});}} 改用箭头函数: class 游戏 {富(){this._p
..
我是在 React 中使用 ES6 类的新手,之前我一直将我的方法绑定到当前对象(显示在第一个示例中),但是 ES6 是否允许我使用箭头将类函数永久绑定到类实例?(在作为回调函数传递时很有用.)当我尝试在 CoffeeScript 中尽可能使用它们时出现错误: class SomeClass 扩展 React.Component {//而不是这个构造函数(){this.handleInputCh
..
我正在尝试 ES6 并希望在我的函数中包含一个属性 var person = {姓名:“杰森",喊:() =>console.log("我的名字是", this.name)}person.shout()//应该打印出我的名字是 jason 然而,当我运行这个代码控制台时,只记录my name is.我做错了什么? 解决方案 Short answer: this 指向最近的边界 this
..
我一直在阅读一堆 React 代码,我看到了这样的东西我不明白: handleChange = field =>e =>{e.preventDefault();///在这里做点什么} 解决方案 那是一个 柯里化函数 首先,用两个参数检查这个函数… const add = (x, y) =>x + y添加(2, 3)//=>5 这里又是咖喱饭… const add = x =>y
..
我在几个地方读到过,关键区别在于 this 在箭头函数中是词法绑定的.这一切都很好,但我实际上不知道这意味着什么. 我知道这意味着它在定义函数主体的大括号范围内是唯一的,但我实际上无法告诉您以下代码的输出,因为我不知道 this 是什么指的是,除非它指的是胖箭头函数本身……这似乎没什么用. var testFunction = () =>{ console.log(this) };测试函数
..
使用 () =>{} 和 function () {} 我们得到了两种非常相似的在 ES6 中编写函数的方法.在其他语言中,lambda 函数通常通过匿名来区分自己,但在 ECMAScript 中,任何函数都可以是匿名的.这两种类型中的每一种都有唯一的使用域(即当 this 需要显式绑定或显式不绑定时).在这些领域之间,有大量的情况可以使用任何一种符号. ES6 中的箭头函数至少有两个限制:
..