JavaScript中双符号的运算详解

作者:纸飞机时间:2026-10-21 23:26:02浏览:445

本文详细解析JavaScript中双波浪号(~~)与双感叹号(!!)的运算机制。双波浪号用于向零取整,正负数处理逻辑不同;双感叹号用于将值转换为布尔类型。通过代码示例对比两者在正负数及空值场景下的具体表现,帮助开发者准确使用。

双波浪号运算原理

双波浪号


var i = 5.1;
var j = 5.5;
console.log(~~i); // 5
console.log(~~j); // 5

其功能类似于Math.floor。

在处理正数时,两者的行为相似;但在处理负数时,结果存在差异:


~~-5.1 // 5
Math.floor(-5.1) // -6
~~-5.5 // 5
Math.floor(-5.5) // -6

注意:


Math.ceil(x)
Returns the smallest integer greater than or equal to a number.
Math.floor(x)
Returns the largest integer less than or equal to a number.
~~
是向0计算,取值向0靠拢

双感叹号类型转换

双感叹号


var a = 1;
var b = null;
var c = '';
var d = 'code';
console.log(!!a); // true
console.log(!!b); // false
console.log(!!c); // false
console.log(!!d); // true

其作用类似于Boolean,用于将任意值转换为布尔类型。

总结

以上就是本文的全部内容,希望这些关于双符号运算的解析能对您的学习或工作有所帮助。如有任何疑问,欢迎留言交流,感谢对本站的支持。

作者最新文章