无法识别的javascript语法
我在研究时遇到了一个特定的javascript代码 我理解它的功能,但据我记忆所及,我以前从未见过这种语法。这是哪种语法 编辑:无法识别的javascript语法,javascript,rxjs,Javascript,Rxjs,我在研究时遇到了一个特定的javascript代码 我理解它的功能,但据我记忆所及,我以前从未见过这种语法。这是哪种语法 编辑: 我对map(x=>x*x)(of(1,2,3))部分感到困惑@Olian04很好地解释了map()是一个高阶函数map()返回一个函数,该函数被传递(1,2,3)的参数由于您没有确切指定被剪断的部分让您感到困惑,因此我将快速分解代码,排除导入: x=>x*x是一个箭头函数。它与函数(x){returnx*x;} map是一个高阶函数,它将函数作为其参数map(f)。
我对
map(x=>x*x)(of(1,2,3))
部分感到困惑@Olian04很好地解释了map()
是一个高阶函数map()
返回一个函数,该函数被传递(1,2,3)的参数
由于您没有确切指定被剪断的部分让您感到困惑,因此我将快速分解代码,排除导入:
是一个箭头函数。它与x=>x*x
函数(x){returnx*x;}
是一个高阶函数,它将函数作为其参数map
。它还返回一个函数map(f)
fMap=map(f)
是一个函数,它将一个可观测值作为参数,并且 返回一个可观察值,其中每个值都应用了函数fMap
f
fObs=fMap(obs)
是一个函数,它接受任意数量的参数,并返回一个可观察的对象,该对象将把这些参数作为事件发送给订阅者of
obs=of(1,2,3)
是一个高阶函数,它将函数作为其参数,并将其注册为事件订阅者fObs.subscribe
是一个字符串文本模板,与执行`value:${v}`
'value:'+string(v)
(v)=>…
与v=>…
相同,它们都是带一个参数的箭头函数,非常感谢。我特别困惑于map(x=>x*x)
是如何紧跟在(of(1,2,3))
之前的。现在我知道了一个叫做“ArnabDas”的东西,太棒了。请随意接受答案,这样其他用户就会看到问题已经得到了回答。@ArnabDasmap
不是生活。它是一个高阶函数,接受一个函数并返回一个函数。IIFE是一个在其定义的同时被调用的函数。这些概念可能看起来很相似,但它们并不相同。
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
map(x => x * x)(of(1, 2, 3)).subscribe((v) => console.log(`value: ${v}`));