javascript中的~~运算符

Posted 彩虹の你

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中的~~运算符相关的知识,希望对你有一定的参考价值。

javascript中的【~~】运算符,简单一点的用法就是可以将一些变量转化为Number(数字)类型的。

将数字类型的字符串转化为纯数字。

var a = ‘123‘;
console.log(~~a); // 输出数字类型的123

如果字符串中带了其他字母,符号,或者其他除数字外的东西,一律输出Number类型的0。

var a = ‘123a‘;
console.log(~~a); // 输出0

任何boolen类型的,如果为TRUE则输出1,FALSE输出0。

var a = 1 == 1;
console.log(~~a); // 输出1

特殊类型,转化为Boolean是true的输出1,转化为Boolean是false的输出0。

var a = undefined;
console.log(~~a); // 输出0
var a = !undefined;
console.log(~~a); // 输出1

最后来看一个特别厉害的应用例子。

var a = (!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]];
console.log(a); // 输出"sb"

 

"如果有一天失去的东西回来了,你还会要吗?"

以上是关于javascript中的~~运算符的主要内容,如果未能解决你的问题,请参考以下文章

Node.js JavaScript 片段中的跳过代码

48个值得掌握的JavaScript代码片段(上)

JavaScript 代码片段

你可能不知道的JavaScript代码片段和技巧(下)

你可能不知道的JavaScript代码片段和技巧(上)

VSCode自定义代码片段——JS中的面向对象编程