在一个opersource node.js项目中看到这样写:
var isUseHTTPs = !(!!process.env.PORT || !!process.env.IP);
请问:为什么process.env.PORT前需要用二个非操作符,有什么好处?
在一个opersource node.js项目中看到这样写:
var isUseHTTPs = !(!!process.env.PORT || !!process.env.IP);
请问:为什么process.env.PORT前需要用二个非操作符,有什么好处?
!操作符
会将操作数的值转为布尔类型,然后取反。连续使用两次等价于将操作数转为布尔类型。相当于其他语言中的强制类型转换:
B = (boolean)A
当你希望把一个值作为布尔类型使用时,可以使用这个技巧。
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答2.6k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
1 回答4.6k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
4 回答5.4k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
4 回答4k 阅读
不管!!右边是啥,最后都能转成布尔值。