回答

收藏

如何在 JavaScript 中将字符串转换为布尔值?

技术问答 技术问答 289 人阅读 | 0 人回复 | 2023-09-12

表示布尔值的字符串(例如,’true’、’false’)转换为 JavaScript 内在类型吗?
: {" v" A3 g* _1 a, e2 F. z% W+ ^我在 HTML 中有一个隐藏的表单,它会根据用户在列表中的选择进行更新。此表单包含一些表示布尔值的字段,并使用固有的布尔值动态填充。但是,一旦将此值放入隐藏的输入字段中,它就会变成一个字符串。. p2 m' }' I' r& W' W8 J
一旦将字段转换为字符串,我能找到确定字段布尔值的唯一方法就是依靠字符串所表示的字符值。5 @: y# w* C! O; X5 {/ d
    var myValue = document.myForm.IS_TRUE.value;var isTrueSet = myValue == 'true';
    5 t  s3 }/ w  r/ {5 W$ d, A
有没有更好的方法来实现这一点?  N* j# i6 L( I! O
                                                                : ~1 m( h  I* s2 p( a1 E4 ]
    解决方案:                                                                " q) R$ f" p0 `0 u" Z& D* x
                                                                Do:
    var isTrueSet = (myValue === 'true');
    , b3 g1 M& Q& V: F& s1 `2 {
===),当比较变量有不同类型时,它不会转换任何隐藏类型。
3 C, s& n% s0 ~, Q& S6 T7 i: GDon’t:您可能这两种方法应谨慎使用满足您的具体需求:
4 P( \5 k: e! |0 f2 Y+ D
    var myBool = Boolean("false");  // == truevar myBool = !!"false";  // == true+ U: l) y$ r; q; H
任何不是空字符串的字符串都将true用它们来评估。尽管它们是我能想到的布尔转换最简单的方法,但我认为它们不是你想要的。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则