Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 字符串上的速记(类型不同)真/假比较是一种良好的做法吗?_Javascript_Performance_Types_Casting_Type Conversion - Fatal编程技术网

Javascript 字符串上的速记(类型不同)真/假比较是一种良好的做法吗?

Javascript 字符串上的速记(类型不同)真/假比较是一种良好的做法吗?,javascript,performance,types,casting,type-conversion,Javascript,Performance,Types,Casting,Type Conversion,速记(类型不同)真/假比较是字符串的良好编码实践吗 例如: var is_this_true = "Something in here, so not empty."; if (is_this_true) {} 此外,如果有,与严格比较相比,性能如何。 例如: 第一个示例是否必须进行松散比较(即,与==)如果(x)检查x是否真实–除了0、'、false、null、NaN或未定义的之外的任何值 无论x是布尔值还是其他值,这都是相同的方法,与强制(“松散”)相等无关。空字符串始终为false,如果

速记(类型不同)真/假比较是字符串的良好编码实践吗

例如:

var is_this_true = "Something in here, so not empty.";
if (is_this_true) {}
此外,如果有,与严格比较相比,性能如何。
例如:


第一个示例是否必须进行松散比较(即,与==)

如果(x)检查
x
是否真实–除了
0
'
false
null
NaN
未定义的
之外的任何值


无论
x
是布尔值还是其他值,这都是相同的方法,与强制(“松散”)相等无关。

空字符串始终为false,如果使用==comparison,则还会出现以下值:false、、、、、、、、0、null、未定义。

如果进行严格比较,这将永远不起作用。类型不一样。如果希望更明确,可能需要检查
.length
property@CrazyTrain:如果
null
@SLaks:是的,我只是在解决速记(类型不同)评估的直接问题。换句话说,假设它是一个字符串,传递它以作为布尔值计算。因此,给定一个字符串,可以通过比较其
.length
.Yes显式表示。这是我最关心的问题。我知道那里必须有一个类型转换,所以尽管我知道这是一个公认的做法-这是否使它成为一个好的编码做法?这被认为是一个好的做法,因为人们认为松散的键入是一个好的语言功能。抱歉)只是为了完整的列表)如果您使用
=
比较,这些值并非都被认为是相同的
false
。如果是,那么
null==0
将是
true
@CrazyTrain:你是对的;他把虚假与松散的平等混为一谈。
var is_this_true = true;
if (is_this_true === true) {}