Ramda有没有isString?

时间:2017-12-13 16:45:06

标签: javascript ramda.js

背景

我正在尝试使用ramda,我需要一个纯函数,让我知道给定的输入是否为字符串,就像lodash _.isString一样。

问题

在搜索到处后,我在Ramda找不到任何东西。所以我想知道,有没有办法,使用任何Ramda的现有函数,我可以创建一个isString函数?

我发现这可怕的限制,我不可能最后使用lodash:S

2 个答案:

答案 0 :(得分:14)

而不是isStringisObjectisArrayisFunction等,Ramda只提供 is ,而你可以用来创建你喜欢的任何一个:

const isString = R.is(String)
const isRectangle = R.is(Rectangle)

isString('foo') //=> true
isString(42) //=> false

isRectangle(new Rectangle(3, 5)) //=> true
isRectangle(new Square(7)) //=> true (if Rectangle is in the prototype chain of Square)
isRectangle(new Triangle(3, 4, 5)) //=> false

您不必创建中间函数。您可以按原样使用它:

R.is(String, 'foo') //=> true
R.is(String, {a: 'foo'}) //=> false

答案 1 :(得分:0)

这也应该R.type(x) === "String"