如您所知,有一个.bind()
功能快捷方式的建议,因此您可以编写:
::this.handleStuff
它将在es5中像这样工作:
this.handleStuff.bind(this)
我的问题是:是否可以通过这种方式传递参数?
我的意思是用上述快捷方式编写此代码的方法:
this.handleStuff.bind(this, 'stuff')
这是React中很常见的模式,因此最好将其缩短一点。
否。bind运算符(规范建议)有两种形式:
方法提取
::obj.method ≡ obj.method.bind(obj)
“虚拟方法”调用
obj::function ≡ function.bind(obj)
obj::function(…) ≡ function.call(obj, …)
它们都不具有部分应用的功能。对于您想要的,应该使用箭头功能:
(...args) => this.handleStuff('stuff', ...args) ≡ this.handleStuff.bind(this, 'stuff')
问题内容: 我正在探索Java 8源代码,发现代码的这一特殊部分非常令人惊讶: 是类似方法指针的东西吗?普通方法如何转换为? 问题答案: 通常,可以使用以下方法调用该方法: 仅调用就需要很多语法。那就是lambda表达式起作用的地方。从Java 8开始,它允许以更短的方式执行相同的操作: 这是如何运作的?Java编译器“检测”你要实现一个接受两个ints并返回一个的方法int。这等效于接口的唯一方
我在探索Java 8的源代码时,发现代码的这一部分非常令人惊讶: 是否类似于方法指针?普通的方法如何转换为?
刚刚在java中尝试了一些东西,发现了以下问题。 以下是我的代码。 父接口: 子接口: 实施1: 实施2: 主要方法: 我不确定我做错了什么,我在本地机器中安装了JDK 13并使用IntelliJ 2019.3和JDK 11。我检查了IntelliJ是否支持JDK 13 谢谢 错误更新我在那里留下了一个分号,删除了它,请再次检查。
问题内容: 显然,Java中冒号以多种方式使用。有人介意解释它的作用吗? 例如这里: 您将如何以不同的方式编写此循环,以便不合并? 问题答案: 在Java代码中冒号有几个地方: 1)跳出标签): 2)三元条件: 3)每个循环: 4)断言: 5)切换语句中的情况: 6)方法参考
冒号:是MATLAB里面一个十分重要的算子,适用于各种不同的表达式。 例如表达式 1:10 表示一行从1到10的整数 1 2 3 4 5 6 7 8 9 10 为了改变递变的间隔,可以指定一个间隔长度 ,例如 100:-7:50 表示为 100 93 86 79 72 65
问题内容: 我在一些代码中看到了这一点,但我不知道它的作用: 什么是运营商做? 问题答案: 那是一个双重的非按位运算符。用作的更快替代品