2013-01-24 51 views
3

我在处理Google Closure时学到的一件事是,图书馆几乎可以根据原始数据操作和管理想要的所有东西。我要做的是在它上面构建组件。Google Closure Library:解析布尔值的“正确”方法是什么?

今天我试图解析一个字符串的布尔值。我很惊讶没有在Google Closure Library中找到任何内容来做到这一点。

我应该通过在问题 “How can I convert a string to boolean in JavaScript?”中引用的技术来构建这个自己,或者是有另一种“谷歌闭合方式”™来分析,我没能找到布尔值?

+0

这是一个棘手的问题,你不会找到一个方法,考虑布尔('假')==真和布尔('0')也是如此。自定义方式是基于您的规则集的唯一方式。 – lennel

回答

2

不,没有关闭的方式来做到这一点。

您可以按照您链接到的问题中提到的建议,也可以创建自己的方法,将您认为是真实的字符串和错误的字符串结合起来。

1

我的猜测是图书馆不包含这样的功能,因为它并不总是典型的你期望的那样准确(案例重要吗?)。我可能会使用goog.string.caseInsensitiveCompare(str,“true”)和goog.string.caseInsensitiveCompare(str,“false”),它不需要任何幕后的魔法或错误空间,

有趣的是goog.string.caseInsensitiveCompare(true,“true”)将第一个参数强制转换为一个字符串,因此返回0(为了相等)。如果这是一个问题,您可以使用goog.isString或goog.isBoolean提前过滤值。

相关问题