在一个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
当你希望把一个值作为布尔类型使用时,可以使用这个技巧。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
4 回答5.4k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
4 回答3.9k 阅读
不管!!右边是啥,最后都能转成布尔值。