我可以将表示布尔值的字符串(例如,'true','false')转换为JavaScript中的内部类型吗?
我有一个隐藏的HTML格式,根据用户在列表中的选择进行更新.此表单包含一些表示布尔值的字段,并使用内部布尔值进行动态填充.但是,一旦将此值放入隐藏的输入字段,它就会变成一个字符串.
我可以找到确定字段的布尔值的唯一方法,一旦将其转换为字符串,就要依赖于字符串表示的字面值.
var myValue = document.myForm.IS_TRUE.value;
var isTrueSet = myValue == 'true';
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来实现这一目标?
是否有一个通用的JavaScript函数来检查变量是否有值并确保它不是undefined或null?我有这个代码,但我不确定它是否涵盖了所有情况:
function isEmpty(val){
return (val === undefined || val == null || val.length <= 0) ? true : false;
}
Run Code Online (Sandbox Code Playgroud) 在Typescript中我可以这样做:
var xxx : some_type;
if (xxx)
foo();
else
bar();
Run Code Online (Sandbox Code Playgroud)
这里xxx将被视为布尔值,无论其类型如何.
我想在函数参数中做同样的事情.我有这个功能:
function foo(b : boolean) { ... }
Run Code Online (Sandbox Code Playgroud)
我希望能够调用foo(xxx)并将xxx视为布尔值,无论其类型如何.但是Typescript不允许这样做.
我试过这个:
foo(<boolean>xxx);
Run Code Online (Sandbox Code Playgroud)
但是那个Typescript也不允许这样做.
我可以做这个:
foo(xxx ? true : false);
Run Code Online (Sandbox Code Playgroud)
但这似乎有点傻.有没有更好的方法呢?