Rud*_*ger 4 actionscript equality strict
我想知道在进行相等检查时是否应该总是使用"==="(严格相等)...有没有什么时候最好使用"=="(非严格相等)?特别应该:
if (param1 == null || param1.length == 0)是
if (param1 === null || param1.length === 0) ?像字符串这样的东西怎么样? param1 == "This is a String."
应该使用的操作员取决于您的需要.
"=="检查两个值在转换为相同数据类型后是否相等(如果可能).因此,"5"== 5将为真,因为字符串"5"转换为数字,然后进行检查,显然5确实等于5.
"==="检查两个值是否相同并且相等.因此,"5"=== 5将评估为false,因为一个是字符串,一个是数字.
在使用选择方面,它归结为期望.如果您希望比较的两个值属于同一类型,则应使用"===".但是,如果它们可以是不同类型并且您希望比较自动执行转换(例如,将字符串5与数字5进行比较),则可以使用"==".
对于您的示例,所有这些都应该与"=="运算符一致,但为了增加类型安全性,您当然可以使用"==="运算符.例如,我倾向于专门检查空值.
希望这可以帮助.