typescript - typescript 中的Java方法引用运算符(双冒号)等效

标签 typescript rxjs

typescript 中Java双冒号运算符的等价物是什么(如果有的话):

stream.forEach( System.out::println(s));

编辑:
我知道它具有某些功能是可行的,例如:
stream.forEach(console.log);
stream.filter(Boolean);

但是当我使用其他功能时,例如BehaviorSubject“下一个”我的代码中断了。我不知道有什么资格通过引用来调用另外两个。我想要一些类似的东西:
stream.pipe(someSubject.next);

代替:
stream.pipe(value => someSubject.next(value));

最佳答案

好的,所以我做了一些搜索,发现 JScript 中有一个双冒号运算符,这是微软对 JavaScript 的实现:

a double colon is used as separator between the script ID and the event name

My guess is that's not part (or no longer part) of Internet explorer's ECMAScript implementation but it belongs (or used to belong) to Microsoft Office's implementation


What does ‘::’ (double colon) do in javascript for events?
这是一个非常酷的发现,但我从未见过在 TS 或 ECMAScript 中使用双冒号运算符。
您可以使用 lambda 表达式[].forEach((item: any) => console.log(item))但我很确定 JS 或 TS 没有像 Java 那样的 lambda 表达式的包装器。
编辑:我也发现了这个 What does ‘::’ (double colon) do in JavaScript?经过更多的搜索,它也是一个有效的 ES7 运算符,作为 bind 的语法糖:http://blog.jeremyfairbank.com/javascript/javascript-es7-function-bind-syntax/
尽管它的行为方式与 Java 的::运算符不同。

关于typescript - typescript 中的Java方法引用运算符(双冒号)等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56192114/

相关文章:

javascript - 使用 ts-node-dev 运行一个简单的 express 应用程序并得到错误 : False expression: Non-string value passed to `ts.resolveTypeReferenceDirective`

javascript - 全新安装后,Stenciljs 从 @types/babel__traverse 包抛出构建错误

javascript - 如何设置多行打字效果以响应行间延迟

javascript - 使用 Rx.js 解决多个 Promise,有更好的方法吗?

javascript - 模型不会因模糊事件而更新

javascript - TypeScript setTimeout 循环传递此错误

javascript - 为什么在这种情况下combineLatest运行但forkJoin失败

http - RxJS 和 AngularJS HTTP - 我怎样才能做到这一点?

Angular 6 更新 - 找不到 rxjs-5-to-6-migrate 命令

angular - 如何创建一个仅在订阅时每 10 秒(间隔)更新其值的 Observable?