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 如果遇到 > >= < <= 会隐式的转化为数字(null转化为 0 ,undefined 转化为 NaN),可以进行比较

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

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
JavaScript 中,显示类型转换隐式类型转换也是两种不同的类型转换方式。 1. 显示类型转换:在 JavaScript 中,可以使用一些内置函数或操作符来进行显示类型转换。以下是一些常见的显示类型转换操作: - 使用 Number() 函数将值转换为数值类型。 - 使用 String() 函数将值转换字符串类型。 - 使用 Boolean() 函数将值转换为布尔类型。 - 使用 parseInt() 或 parseFloat() 函数将字符串转换为数值类型。 - 使用 toString() 方法将数值或对象转换字符串类型。 2. 隐式类型转换JavaScript 中的隐式类型转换是在表达式计算、赋值操作和比较运算等过程中自动发生的。这些隐式转换是根据 JavaScript 强制类型转换的规则和规范进行的。以下是一些常见的隐式类型转换场景: - 字符串和数值之间的加法运算会将数值隐式转换字符串并进行字符串拼接。 - 比较运算符(如 ==、>、< 等)会进行隐式类型转换来比较不同类型的值。 - 逻辑运算符(如 &&、|| 等)会根据 JavaScript 的真值表进行隐式类型转换来确定结果。 需要注意的是,JavaScript隐式类型转换有时可能会导致意外的结果,因此在编写代码时应当注意类型转换的规则,避免产生不可预料的行为。同时,在需要明确类型转换的情况下,建议使用显示类型转换来提高代码的可读性和可维护性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值