我可以将表示布尔值的字符串(例如,’true’、’false’)转换为 JavaScript 中的内在类型吗?
我在 HTML 中有一个隐藏的表单,它会根据用户在列表中的选择进行更新。此表单包含一些表示布尔值的字段,并使用固有的布尔值动态填充。但是,一旦将此值放入隐藏的输入字段中,它就会变成一个字符串。
一旦将字段转换为字符串,我能找到确定字段布尔值的唯一方法是依赖于其字符串表示的文字值。
var myValue = document.myForm.IS_TRUE.value;
var isTrueSet = myValue == 'true';
有没有更好的方法来实现这一点?
原文由 Kevin 发布,翻译遵循 CC BY-SA 4.0 许可协议
做:
使用恒等运算符 (
===
),当比较变量具有不同类型时,它不会进行任何隐式类型转换。如果字符串为“true”,则将
isTrueSet
设置为布尔值true
;如果字符串为“false”或根本未设置,则设置为布尔值false
。不:
您可能 应该谨慎使用这两种方法 来满足您的特定需求:
任何不是空字符串的字符串都将通过使用它们来评估为
true
。尽管它们是我能想到的关于布尔转换的最简洁的方法,但我认为它们不是您想要的。