JS:关系运算符的隐式转化

2020-12-22 09:28

阅读:589

标签:布尔   color   判断   ali   隐式   undefined   大小   数字类型   tle   

JS:关系运算符的隐式转化

JS:关系运算符的隐式转化


关系运算符

> 、 >= 、

1. 字符串,布尔值 和数字进行比较时,会先隐式的转化为数字类型,之后再比较

  • console.log("5" > 3); // true
  • console.log(true == 1); // true
  • console.log(false == 0); // true
  • console.log(true == 2); // false

2.字符串 和 字符串比较时,按照从左到右的顺序 比较 字符在码表(ASCII)中的大小

  • console.log(5 > 12); //false
  • console.log("5" > 12); //false
  • console.log("5" > "12"); //true
  • console.log("15" > "12"); //true
  • console.log("1" > "12"); //false

3. null 和 undefined 在和数字比较时

3.1 如果遇到 == 不会进行在转化,没有可比性(false)

  • console.log(null == 0); // false
  • console.log(null == 1);// false
  • console.log(null == -1);// false

3.2 如果遇到 > >=
  • console.log(null >= 0); // true
  • console.log(null
  • console.log(null > -5); // true
  • 因为undefined转化为NaN 所以undefined的判断都是false
  • console.log(undefined == 0); // false
  • console.log(undefined >= 0); // false
  • console.log(undefined

4. null 和 undefined 在数值上是相等的(官方规定),类型上不相同

  • var a; // undefined
    var b = null;
    console.log(a == b); //undefiend == null => true
    console.log(a === b); //undefiend === null => false

5. NaN 和 任何值 都不相等

  • console.log(NaN == NaN); //false
  • console.log("NaN" == "NaN"); //true

JS:关系运算符的隐式转化

标签:布尔   color   判断   ali   隐式   undefined   大小   数字类型   tle   

原文地址:https://www.cnblogs.com/WayToGo-hwd/p/13994961.html


评论


亲,登录后才可以留言!