JavaScript数据类型的隐式转换

Posted усил

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript数据类型的隐式转换相关的知识,希望对你有一定的参考价值。

隐式转换

(1)字符串连接: 运算符+表示加法运算,javascript将把数字转换为字符串,再进行拼接。

var res = 44 + "55";
console.log(res); // 4455

(2)算术运算符(++ – - * / %) 或者比较运算符(> < >= <= != ==)会把两边转化为数字,进行运算

 console.log(44 - "33");    // 11
 console.log(44 - "33a");  // NaN
 console.log(66 * "2");  // 132
// NaN  ===>66 - Number(undefined) = 66 - NaN = NaN
 console.log(66 - undefined);  
console.log("66 > false ==>", 66 > false);  // 在比较过程中,会把false通过Number(false) ==> 0
console.log("66 == '66' ==>", 66 == '66');  // 在比较过程中,会把'66'通过Number('66') ==> 66
/*
  Number(undefined) = NaN; 
  Number(null) = 0;
  NaN ==> 0   
*/
console.log("undefined <= null ==>", undefined >= null);  // false
console.log(null < 0, null > false, null < true)        // false false true  
console.log(null <= 0, null >= false, null <= true)     // true true true

(3)关系运算符 == 和!=

注意: === 和!== 他们是恒等,他们的类型和值豆都要相等,所以不涉及转化

注意:NaN和任意的值,包括自己都不相等

​ NaN == NaN false

undefined只和自己、null相等, null同理 Number(undefined) == NaN

​ undefined == undefined true

​ 特例:undefined == null true

(4)条件表达式 逻辑!(非) 将原本的true变成false, 原本的false变成true

以上是关于JavaScript数据类型的隐式转换的主要内容,如果未能解决你的问题,请参考以下文章

[2016-02-08][javascript][数据类型的隐式转换]

JavaScript数据类型的隐式转换

javascript的隐式类型转换

javascript中的隐式类型转化

带你玩转JavaScript中的隐式强制类型转换

javascript的隐式类型转换(使(a==1&&a==2&&a==3) 成立)