【记录每日工作小问题】~~type 前面符号的作用?

131 阅读1分钟

总结:将变量转化为 Number 类型

  • 纯数字的字符串和数字,输出数字的整数部分,类似 Math.trunc()
var num = 123

console.log(~~num// 123


var num = -123.56

console.log(~~num// -123


var num = '123'

console.log(~~num// 123


var num = '-123.56'

console.log(~~num// -123
  • 非纯数字的字符串,输出 0
var str = '123num'

console.log(~~str)  // 0
  • Boolean 类型的,true 输出 1,false 输出 0
var bool = true

console.log(~~bool// 1
 

var bool = false

console.log(~~bool// 0
  • Undefined 和 null ,输出为 0
var u = undefined

console.log(~~u)  // 0

 
var n = null

console.log(~~n)  // 0