如何测试一个变量是否引用了 coffeescript 中的一个数字?

How to test if a variable is referencing a number in coffeescript?

简单问题:如何在 coffeescript 中测试一个变量是否引用了一个数字?无法在 docs.

中找到答案

严格来说,您可以使用

测试变量类型(这似乎是您要问的)
typeof n is 'number' and isFinite n

请注意,这不会转换字符串等,只是直接检查它是否已经是一个有限的数字。

你可以有一个全局函数: isNumber: (n) -> return not isNaN(parseFloat(n)) and isFinite(n) 并使用它: is_number = isNumber('123') 它 returns true 如果参数不是 NaN 并且不是 infinity。否则 returns false

如果您不反对使用库,underscore/lodash 提供了很棒的实用函数。

_.isNumber 要么 _.isFinite (取决于您是否希望将 InfinityNaN 归类为数字)