一般写判断的时候都是
typeof x == "undefined"
但是有个十几年工作经验的老码农用了下面的写法,完全看不懂其中的意义
结果都是一样的,这么写的区别到底在哪里
"undefined"==typeof x
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这个貌似是Java带来的习惯,因为 Java 在比较两个对象是否一致的时候,不是用
==而是用.equals,以比较字符串为例有没有发现第2句(注释掉那句)的问题?——如果
s是null,它会抛NullPointerException,但是第1句就不会。对于其它可以使用
==来进行比较的语言来说,常量前置没有多大意义。顺便,有另一种说明,和测试思想有关。就是,把想要的放在前面,参与比较的放在后面,比如一般比较函数都会定义成
equals(exprect, value)。各种语言都在解决
null判断的问题,比如C# 6.0就提供了判空语句,比如等同于
把常量写前面,可以防止万一你把==写成了=
这个有什么特殊的意义么?应该只是个人的习惯吧
个人习惯! 把常量放在前面。