js运算符隐式类型转换
总结:
(1)x + "" //等价于 String(x)
(2)+ x //等价于 Number(x),也可以写成x-0
(3)!!x //等价于 Boolean(x),注意是双叹号!
js代码
var now = new Date(); //创建一个日期对象
console.log(now);
var a = typeof(now + 1) //=> "string":"+"将日期转换为字符串
var b = typeof(now - 1)
console.log(a+"--"+b); //=> "number":"-"使用对象到数字的转换
now == now.toString()
console.log(now == now.toString()); //=> true:隐式(==)的和显式(toString)的字符串转换
now > (now - 1)
console.log(now+1);
console.log(+now);
console.log(now-0);
console.log(now > (now - 1) );
以上在控制台分别输出
Date {Tue Jul 26 2016 16:33:18 GMT+0800} test.html (第 9 行)
string--number test.html (第 12 行)
true test.html (第 14 行)
Tue Jul 26 2016 16:33:18 GMT+08001 test.html (第 16 行)
1469521998018 test.html (第 17 行)
1469521998018 test.html (第 18 行)
true
总结:
(1)x + "" //等价于 String(x)
(2)+ x //等价于 Number(x),也可以写成x-0
(3)!!x //等价于 Boolean(x),注意是双叹号!
js代码
var now = new Date(); //创建一个日期对象
console.log(now);
var a = typeof(now + 1) //=> "string":"+"将日期转换为字符串
var b = typeof(now - 1)
console.log(a+"--"+b); //=> "number":"-"使用对象到数字的转换
now == now.toString()
console.log(now == now.toString()); //=> true:隐式(==)的和显式(toString)的字符串转换
now > (now - 1)
console.log(now+1);
console.log(+now);
console.log(now-0);
console.log(now > (now - 1) );
以上在控制台分别输出
Date {Tue Jul 26 2016 16:33:18 GMT+0800} test.html (第 9 行)
string--number test.html (第 12 行)
true test.html (第 14 行)
Tue Jul 26 2016 16:33:18 GMT+08001 test.html (第 16 行)
1469521998018 test.html (第 17 行)
1469521998018 test.html (第 18 行)
true