打字稿中Java双冒号运算符的等价物是什么(如果有的话):
stream.forEach( System.out::println(s));
Run Code Online (Sandbox Code Playgroud)
编辑:我知道某些功能是可行的,例如:
stream.forEach(console.log);
stream.filter(Boolean);
Run Code Online (Sandbox Code Playgroud)
但是当我使用其他函数(例如BehaviorSubject“next”)时,我的代码会中断。我不知道其他两个有什么资格被引用。我想要这样的东西:
stream.pipe(someSubject.next);
Run Code Online (Sandbox Code Playgroud)
代替:
stream.pipe(value => someSubject.next(value));
Run Code Online (Sandbox Code Playgroud)
好吧,我查了一下,JScript 中有一个双冒号运算符,这是 Microsoft 对 JavaScript 的实现:
\n\n\n双冒号用作脚本 ID 和事件名称之间的分隔符
\n我的猜测是,这不是(或不再是)Internet Explorer 的 ECMAScript 实现的一部分,但它属于(或曾经属于)Microsoft Office 的实现
\n
\xe2\x80\x98::\xe2\x80\x99 (双冒号)在事件的 JavaScript 中做什么?
\n这是一个非常酷的发现,但我从未见过在 TS 或 ECMAScript 中使用双冒号运算符。\n您可以使用 lambda 表达式\n[].forEach((item: any) => console.log(item))
但我很确定 JS 或 TS 没有像 Java 那样的 lambda 表达式包装器。
\n编辑:我还发现了What does \xe2\x80\x98::\xe2\x80\x99 (double colon) do in JavaScript? 经过更多搜索,它也是一个有效的 ES7 运算符作为绑定的语法糖:http://blog.jeremyfairbank.com/javascript/javascript-es7-function-bind-syntax/
\n尽管它的行为方式与 Java 的 :: 运算符不同。
\n| 归档时间: |
|
| 查看次数: |
1809 次 |
| 最近记录: |