美文网首页饥人谷技术博客
js类型转换,纯干货

js类型转换,纯干货

作者: allen_tian | 来源:发表于2018-02-14 17:44 被阅读38次

没有废话,纯干货

一、(any)=>boolean

任何类型转为布尔类型

先来看题目,诸位自测(自测答案无法理解可留言)

// 题目1:如下代码输出什么?
if ("hello") {
    console.log("hello")
}

// 题目2:如下代码输出什么?
if ("") {
    console.log('empty')
}

// 题目3:如下代码输出什么?
if (" ") {
    console.log('blank')
}

// 题目4:如下代码输出什么?
if ([0]) {
    console.log('array')
}

// 题目5:如下代码输出什么?
if('0.00'){
  console.log('0.00')
}

答案揭晓

1、"hello"
2、
3、"blank"
4、"array"
5、"0.00"

转换规则解密

类型 转为布尔的结果
undefined false
null false
number +/-0、NaN为false,其他为true
string ""/''为false,即空字符串为false,其他为true
object true

总之:boolean(any)

二、== 连接的两个表达式的类型转换

非全等符号连接的两个表达式直接进行判断时的类型转换

先来看题目,诸位自测(自测答案无法理解可留言)

"" == 0  //题目1
" " == 0  //题目2
"" == true  //题目3
"" == false  //题目4
" " == true  //题目5
!" " == true  //题目6
!" " == false  //题目7
"hello" == true  //题目8
"hello" == false //题目9
"0" == true  //题目10
"0" == false  //题目11
"00" == false  //题目12
"0.00" == false  //题目13
undefined == null  //题目14
{} == true  //题目15
[] == true  //题目16
var obj = { 
  a: 0, 
  valueOf: function(){return 1} 
} 
obj == "[object Object]"  //题目17
obj == 1  //题目18
obj == true  //题目19

答案揭晓

1、true
2、true
3、false
4、true
5、false
6、false
7、true
8、false
9、false
10、false
11、true
12、true
13、true
14、true
15、false
16、false
17、false
18、true
19、true

转换规则解密

x y 结果
undefined null true
number string y = Number(string),再进行比较
boolean (any) x = Number(boolean),再进行比较
object string or number object.valueOf()如果得到基础数据类型则直接进行比较,否则,再调用object.toString(),再进行比较
otherwise otherwise false

总之:除undefined与null外,其他类型都转为number

相关文章

  • js类型转换,纯干货

    没有废话,纯干货 一、(any)=>boolean 任何类型转为布尔类型 先来看题目,诸位自测(自测答案无法理解可...

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • JavaScript类型转换

    在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。 强制类型转换 即通过使...

  • 前端开发入门到实战:JavaScript字符串转换数字

    js 字符串转换数字方法主要有三种: 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供...

  • 前端开发入门到实战:JavaScript字符串转换数字

    js 字符串转换数字方法主要有三种: 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供...

  • js中的类型转换

    在js中数据转换分为3种:隐式类型转换,强制类型转换,函数转换 1.隐式类型转换 (1):运算符转换 js中的值在...

  • JS类型转换

    方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了parseInt()...

  • js关于字符串和数字的转换

    js字符串转换成数字 js 字符串转换数字方法主要有三种:转换函数、强制类型转换、利用JS变量弱类型特点进行转换 ...

  • JavaScript字符串转换数字

    这里记录js 字符串转换数字的三种主要方法: 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: ...

网友评论

    本文标题:js类型转换,纯干货

    本文链接:https://www.haomeiwen.com/subject/hgmetftx.html