7-类型转换

七.类型转换

JS是一种弱类型语言,在定义变量时不需要指定类型,一个变量可以存储任何类型的值

JS数据类型分为简单类型复杂类型,简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型

简单类型

值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型,包括:string ,number,boolean,undefined,null

image.png

复杂类型

引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型,通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等

数据类型转换

什么是数据型转换

使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型

通常会实现3种方式的转换:

  • 转换为字符串类型

  • 转换为数字型

  • 转换为布尔型

转换为字符串

image.png

转换为数字型

image.png

转换为布尔型

image.png

JS表达式运算判断的时候,参与计算的数据类型不合格,进行类型转换

一.转 Number (场景: 数学运算( - * / % … 特殊的加号))

  1. 看上去像数字就可以转数字
  2. 特殊的 (Infinity 科学计数法 不同进制)
  3. 转不了 一定也是数值类型 值: NaN
  4. undefined => NaN
  5. null => 0

二.转 String (场景: 如果加法运算中没有数字参与, 一定是 转字符串拼接)

一般情况下 可以直接加 “” 最终的值

  • true => “true” false => “false”

  • null => “null” undefined => “undefined”

 console.log(String(null)) 		//"null"
 console.log(String(undefined))  //"undefined"

对象 怎么转的

在一般情况下 对象转字符串的结果是 "[object Object]"

   let obj = {a:123123,b:12312323}
   console.log(String(obj)) // "[object Object]"
   
   console.log({} + {}) //"[object Object][object Object]"

分类:

函数(约定了名字和执行内容的一个整体)

 function foo(){
      asdasdajksd
  }
  let result = String(foo)

​ 怎么写的就怎么显示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yw7o9Ubg-1615612818013)(C:/Users/%E7%AB%B9%E9%9D%92%E6%9A%AE%E9%9B%A8/AppData/Roaming/Typora/typora-user-images/1588066945624.png)]

数组 [123,123,64,75,789,45]

​ 需要去掉 中括号(不管有多少个)

let arr = [123,123,64,75,789,45];
console.log(String(arr)); //123,123,64,75,789,45

补充一句: 这些都是假象, 真实的转字符串的方法:

​ 调用了它自己的 toString 的方法 (万物皆对象, 是对象就有toString方法)

​ 1.包装对象

​ 2.原型

证明: 对象转字符串就是用的 toString()

 let a = {
       toString: function () {
         return "abc" // "abc" 就是函数执行的返回结果
       }
    }
    
     console.log(a + "") 

   let arr = [1, 2, 3]
  
   console.log(arr.toString()) //"1,2,3"  //天呐!证明成立

转 Boolean

六大假值

其余都是真

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值