arrow-functions相关内容

ES6箭头函数:为什么在构造函数和对象文字中使用此箭头时指向不同?

我知道箭头函数从封闭作用域继承this。但是,仍然不能理解为什么在对象文字中定义的箭头函数中的this指向全局对象,而在构造函数中指向创建的对象。 请考虑以下代码: function Obj() { this.show = () => { console.log(this); }; } const o = new Obj(); const o2 = { show: () ..

在 React 中正确使用箭头函数

我正在使用带有 Babel 和 Webpack 的 ReactJS,并使用 ES6 以及 提议的类字段 用于箭头功能.我了解箭头函数通过 not重新创建每个渲染的函数,类似于构造函数中的绑定工作方式.但是,我不能 100% 确定我是否正确使用它们.以下是我在三个不同文件中的代码的简化部分. 我的代码: Main.js prevItem = () =>{console.log("div ..

“这个"是什么意思?参考 ES6 中的箭头函数?

我在几个地方读到过,主要区别在于 this 在词法上绑定在箭头函数中.这一切都很好,但我实际上并不知道这意味着什么. 我知道这意味着它在定义函数主体的大括号范围内是唯一的,但我实际上无法告诉您以下代码的输出,因为我不知道 this 是什么指,除非它指的是胖箭头函数本身....这似乎没有用. var testFunction = () =>{ console.log(this) };测试函数 ..
发布时间:2022-01-29 23:06:16 前端开发

Coffeescript 类和范围以及粗细箭头

在咖啡脚本类的粗箭头函数中,如何访问该类的范围以及函数? 例子: 类示例富:->$('.element').each =># 或 ->@bar($(this)) # 我想访问 'bar' 以及 jquery 元素栏:(元素)->元素.hide() 所以在这个例子中,如果我使用 =>,那么 @ 指的是类的 this,但 'this' 是错误的,而如果我对 each 使用 ->,那么 'th ..
发布时间:2022-01-24 11:07:26 其他开发

当我通过中间函数管道我的方法定义时,为什么胖箭头不绑定到这个?

我有以下代码声明了一个中间人建议的方法函数结果分配给原型槽之前的函数. A 类某种方法:建议=>@做一点事() 为什么在这种情况下胖箭头没有绑定到实例? 解决方案 简单回答 当在原型槽名称和函数之间放置一个中介时定义你打破了使 CS 发出的句法模式构造函数中的绑定代码 A 类foo: (paramlist) =>酒吧:()=>巴兹:=> 所有这些方法定义在生成的 Javasc ..
发布时间:2022-01-24 10:45:44 其他开发

CoffeeScript:如何同时使用胖箭头和 this?

我有一个咖啡脚本类,它有一些 jquery 事件监听器.我想使用粗箭头 => 来避免引用类,但我仍然需要引用通常与 this 一起使用的元素.如何同时使用两者? 类 PostForm构造函数:->$('ul.tabs li').on '点击', =>制表符 = $(这个)@highlight_tab(标签)@set_post_type(tab.attr('data-id'))highlight_ ..
发布时间:2022-01-24 10:32:22 其他开发

在咖啡脚本中构建类时,是否有理由不使用实例方法的粗箭头?

在 coffeescript 中构建类时,是否有理由不将粗箭头用于实例方法? 编辑:那好吧!很好的回复!:) 总结起来,问题是: - 占用更多内存 - 无法修补 - 提出问题,为什么要使用这种方法? 约定: - 绑定函数时要明确. - 在构造函数中声明粗箭头方法. - 尽可能多地使用,而不是在类声明中. 解决方案 是的,有理由不总是使用粗箭头.事实上,我赞成 neve ..
发布时间:2022-01-24 10:17:51 其他开发

“胖箭"什么时候出现(=>) 绑定到“this";实例

粗箭头可以在不同的设置中使用,但不知何故不能总是绑定到我想要的实例. 解决方案 胖箭头绑定3次 声明方法时 在方法中声明函数时 在全局上下文中声明函数时 1.声明方法时 当 Coffeescript 编译器遇到以下语法模式时在类声明中 A 类某种方法:(参数列表)=> 这将在 A 类的构造函数中生成以下代码 this.somemethod = __bind(th ..
发布时间:2022-01-24 10:16:37 其他开发

CoffeeScript,何时在箭头 (->) 上使用粗箭头 (=>),反之亦然

在 CoffeeScript 中构建类时,是否应该使用 =>(“胖箭头")运算符定义所有实例方法,使用 -> 定义所有静态方法; 运算符? 解决方案 不,这不是我会使用的规则. 我在定义方法时发现的粗箭头的主要用例是当您想将方法用作回调并且该方法引用实例字段时: A 类构造函数:(@msg)->瘦:->提醒@msg脂肪:=>提醒@msgx = 新 A(“哟")x.thin() ..
发布时间:2022-01-24 10:15:14 其他开发

从 ES6 箭头函数返回对象文字

如果有人解释为什么在 updatedPosts 中我们应该返回一个对象,而在一个对象内部我们应该再次返回它,我将不胜感激?为什么我们可以只用代码来代替 => const updatedPosts = posts.map(data =>{...数据,作者:《狮子座》}) 类博客扩展组件{状态 = {邮政 : []}组件DidMount(){axios.get('https://jsonpla ..
发布时间:2022-01-19 15:29:24 其他开发

.bind() 与箭头函数 () 的区别 =>在 React 中的使用

假设我有一个函数 generateList() 更新状态并将其映射到 onClick 到 . 产品 有时我会遇到以下错误: 警告:setState(...):无法在现有状态转换期间更新(例如在render内).Render 方法应该是 props 的纯函数... 诸如此类.我在互联网上寻找答案,并找到了这样的答案,例如: 产品 但我也看到了一个答案(在 Github 中,但 ..
发布时间:2022-01-04 15:44:58 前端开发

D3.js v4:在 ES6 箭头函数事件监听器中访问当前 DOM 元素

在D3.js v4中,通过传统的回调函数注册事件监听器时,this引用了当前的DOM元素: d3.select("div").on('mouseenter', function() {d3.select(this).text("Yay");}); ES6 提供了箭头函数,恕我直言,这使 D3.js 代码更具可读性,因为它们非常简洁.然而,传统的回调不能一味地用箭头函数代替: d3.selec ..
发布时间:2021-12-18 19:43:22 其他开发

如何在 ES6 中递归地编写箭头函数?

ES6 中的箭头函数没有 arguments 属性,因此 arguments.callee 将不起作用,并且无论如何都不会在严格模式下运行,即使只是一个匿名函数正在使用中. 箭头函数不能命名,因此不能使用命名函数表达式技巧. 那么...如何编写递归箭头函数?那是一个箭头函数,它当然会根据某些条件等递归调用自身? 解决方案 编写一个没有命名的递归函数是一个与计算机科学本身一样古老 ..
发布时间:2021-12-16 09:01:37 前端开发

箭头函数的这个值

我正在尝试理解 ECMAScript 6 中的箭头函数. 这是我在阅读时遇到的定义: 箭头函数具有隐式的 this 绑定,这意味着箭头函数内的 this 值的值是远离与箭头函数所在作用域中this的值相同已定义! 根据定义,我认为箭头函数的this应该包含与定义箭头函数相同的块级值. 代码: var test = {编号:“123123",克:{笔记本电脑:“拉面",te ..
发布时间:2021-11-28 22:20:33 前端开发

如何在 || 中使用箭头函数操作员

使用 Babel,我可以看到 callback = () =>{}; 编译为 callback = function callback() {}; 这正是我所期望的.但是,当我尝试将它与 || 一起使用时出现错误 callback = callback ||() =>{} 我期望相当于 回调 = 回调 ||功能(){}; 为什么这是一个错误?另外,这个熟悉的语法有没有更正确的 ..
发布时间:2021-11-28 22:20:22 前端开发

箭头函数 vs 胖箭头函数

我在互联网上找到了关于箭头函数和粗箭头函数这两个名称的信息,但没有关于它们之间有什么不同的信息. 有什么不同吗? 解决方案 这样的问题需要解释一下... ECMAScript 5 在 ES5 规范中,根本没有箭头函数.那时使用像这样的传统函数表达式很常见: //示例 n°1var myFunction = 函数 () {返回'你好!';};//示例 n°2变量对象 = ..
发布时间:2021-11-28 22:20:14 前端开发