Ord在Ramda的类型注释中意味着什么?

Pav*_*vlo 3 functional-programming ramda.js

Ramda 关于钳位状态的文档:

Or a => a→a→a→a

将数字限制在一定范围内.

也适用于其他有序类型,如字符串和日期.

R.clamp(1, 10, -1) // => 1
R.clamp(1, 10, 11) // => 10
R.clamp(1, 10, 4)  // => 4
Run Code Online (Sandbox Code Playgroud)

我理解"a→a→a→a"是什么意思(一个curried函数,它接受三个相同类型的参数并返回与参数相同类型的结果).

"Ord"和胖箭头(=>)是什么意思?

Sco*_*yet 5

杰瑞德的答案很棒.这只是从Ramda方面增加了一点视角.

Ramda有一篇关于其类型注释的文章(免责声明:我写过它.)关于类型约束的部分描述了这些.

胖箭表示左侧的短语限制了右侧的描述.Ord意味着该类型是有序的,也就是说它与<和它一起正常工作>.这包括内置类型(如字符串,数字和日期),以及具有valueOf提供正确排序的方法的用户类型.