TOGOUTECH

arrow-functions

全部标签

javascript - 没有箭头功能的setInterval函数

我正在按照文档https://facebook.github.io/react/docs/state-and-lifecycle.html学习React组件这里为什么要用箭头函数:this.timerID=setInterval(()=>this.tick(),1000);为什么我不能直接说(显然是行不通的)this.timerID=setInterval(this.tick(),1000); 最佳答案 setInterval的第一个参数是function类型。如果你这样写:this.timerID=setInterval(t

javascript - 是否可以在 ES6 的类中使用箭头函数?

我的问题很简单。如果我在ES6中有一个类,是否可以在其中使用箭头函数?importReact,{Component}from'react';exportdefaultclassSearchFormextendsComponent{state={searchText:''}onSearchChange=e=>{this.setState({searchText:e.target.value});}handleSubmit=e=>{e.preventDefault();this.props.onSearch(this.query.value);e

javascript - 带有静态箭头函数的类

我目前正在实现staticland规范(幻想世界的另一种选择)。我不仅想使用普通对象作为类型,还想使用带有静态方法的ES2015类。我已经将这些静态方法实现为柯里化(Currying)形式的箭头函数,而不是普通函数。然而,这对于ES2015类是不可能的:classListextendsArray{staticmap=f=>xs=>xs.map(x=>f(x))staticof=x=>[x]}我的map不需要它自己的this,因为它只是List构造函数上的柯里化(Currying)函数。为了让它工作,我必须编写staticmap(f){returnxs=>xs.m

javascript - 箭头函数的 this 值

这个问题在这里已经有了答案:MethodsinES6objects:usingarrowfunctions(6个答案)Howdoesthe"this"keywordinJavascriptactwithinanobjectliteral?[duplicate](4个答案)关闭5年前。我正在尝试理解ECMAScript6中的箭头函数。这是我在阅读时遇到的定义:Arrowfunctionshaveimplicitthisbinding,whichmeansthatthevalueofthethisvalueinsideofanarrowfunctionisawaysthes

javascript - 使用 React 时,在构造函数中使用粗箭头函数还是绑定(bind)函数更可取?

在创建React类时,哪个更可取?exportdefaultclassFooextendsReact.Component{constructor(props){super(props)this.doSomething=this.doSomething.bind(this)}doSomething(){...}}或exportdefaultclassFooextendsReact.Component{doSomething=()=>{...}}我的一个同事认为后者会导致内存问题,因为babel转译代码以在闭包内捕获this,而该引用将导致实例不被GC清理。对此有什么想法吗?

javascript - 如何避免 Jest 警告 : A "describe" callback must not return a value?

将Jest从版本23升级到版本24后,在运行我的测试时,几乎每个测试都会收到这样的警告消息:A"describe"callbackmustnotreturnavalue.Returningavaluefrom"describe"willfailthetestinafutureversionofJest.附带的堆栈跟踪指向此模块:addSpecsToSuite(node_modules/jest-jasmine2/build/jasmine/Env.js:443:15)这样做的原因是我喜欢在我的测试中使用箭头函数的简写版本,当函数体只包含一个语句时省略大括

javascript - Angular2订阅了解箭头功能

我试图通过Angular2Observable订阅方法的例子来理解typescript的箭头函数。有人可以解释一下吗:我有这段有效的代码:this.readdataservice.getPost().subscribe(posts=>{this.posts=posts;});但是如果我用这个应该是一样的吗?但这不起作用。this.readdataservice.getPost().subscribe(function(posts){this.posts=posts;}); 最佳答案 箭头函数是匿名的,不绑定(bind)它自己的

javascript - 如何使用 || 的箭头函数运算符(operator)

使用Babel,我可以看到callback=()=>{};编译为callback=functioncallback(){};这是我所期望的。但是,当我尝试将它与||一起使用时出现错误callback=callback||()=>{}我希望它等同于callback=callback||function(){};为什么这是一个错误?另外,对于这种熟悉的语法,是否有更正确的ES6版本? 最佳答案 失败是因为语法无效。使用以下命令使其工作:callback=callback||(()=>{})如果您不以这种方式包装它,它将

javascript - 为什么箭头函数的 'this' 在嵌套对象字面量中没有变化?

这个问题在这里已经有了答案:MethodsinES6objects:usingarrowfunctions(6个答案)关闭6年前。我发现在嵌套对象文字中使用箭头函数时,“this”关键字似乎总是指向global。根据其他问题,以下代码片段可以解释为箭头函数的“this”是在词法上下文中定义的。varc=100;vara={c:5,fn:()=>{returnthis.c;}};console.log(a.c);//100但是,我无法理解以下代码(嵌套对象字面量):varc=100;vara={c:5,b:{c:10,fn:()=>{returnthis.c;}}}conso

JavaScript:具有破坏性的箭头函数?

这个问题在这里已经有了答案:WherecanIgetinfoontheobjectparametersyntaxforJavaScriptfunctions?(1个回答)关闭4年前。关于MDN,下面的代码被用作如何使用箭头函数编写更短函数的示例。varmaterials=['Hydrogen','Helium','Lithium','Beryllium'];materials.map(function(material){returnmaterial.length;});//[8,6,7,9]materials.map((