js 的隐式转换与显式转换

待我称王封你为后i 2022-01-06 07:09 371阅读 0赞

隐式转换

1.undefined与null相等,但不恒等(===)

2.一个是number一个是string时,会尝试将string转换为number

3.隐式转换将boolean转换为number,0或1

4.隐式转换将Object转换成number或string,取决于另外一个对比量的类型

5.对于0、空字符串的判断,建议使用 “===” 。

6.“==”会对不同类型值进行类型转换再判断,“===”则不会。它会先判断两边的值类型,类型不匹配时直接为false。

  1. undefined == null; // true
  2. 1 == true; // true
  3. 2 == true; // false
  4. 0 == false; // true
  5. 0 == ''; // true
  6. NaN == NaN; // false NaN不等于任何值
  7. [] == false; // true
  8. [] == ![]; // true
  9. '6' - '3' // 3
  10. 1234 + 'abcd' // "1234abcd"

显示转换

显示转换一般指使用Number、String和Boolean三个构造函数,手动将各种类型的值,转换成数字、字符串或者布尔值。

Number:

  1. Number('1234') // 1234
  2. Number('1234abcd') // NaN
  3. Number('') // 0
  4. Number(true) // 1
  5. Number(null) // 0
  6. Number(undefined) // NaN

String:

  1. String(1234) // "1234"
  2. String('abcd') // "abcd"
  3. String(true) // "true"
  4. String(undefined) // "undefined"
  5. String(null) // "null"

Boolean:

  1. Boolean(0) // false
  2. Boolean(undefined) // false
  3. Boolean(null) // false
  4. Boolean(NaN) // false
  5. Boolean('') // false

转载于:https://www.cnblogs.com/missya/p/11040544.html

发表评论

表情:
评论列表 (有 0 条评论,371人围观)

还没有评论,来说两句吧...

相关阅读

    相关 转换转换【C#】

    隐式转换: 所谓隐式转换,就是系统默认的转换,其本质是小存储容量数据类型自动转换为大存储容量数据类型。 参与运算(算数运算和赋值运算)的操作数和结果类型必须一致,当不一致时