从零开始学习typescript——类型转换

类型转换

在开发中,你有没有遇见一种情况

javascript 复制代码
let obj={
  displayNum:""
}
obj.displayNum="123";
let num:number =123
console.log(num==obj.displayNum) //false

我们想要的结果,是结果为true;那么这时候就要用到类型转换

  • 将其他类型转换为布尔类型
javascript 复制代码
let m: string ='123'
let mb:boolean = Boolean(m) ;// true

Boolean()函数会判断传入的值是空值,还是非空值;除了5种情况,其余的返回的都是true

  1. undefined

  2. null

  3. NaN

  4. 0

  5. ""

javascript 复制代码
Boolean(undefined) //false
Boolean(123) //true
Boolean("") //false
  • 将其他类型转换为数值类型

    • parseInt()
      将字符串类型的值转换为整型数值
    javascript 复制代码
    parseInt("   1") //1
    parseInt("1") //1
    parseInt("3.14") //3
    parseInt("1zz") //1
    parseInt("z1") //NaN

    看上面的代码,可以知道,使用parseInt()函数时,需要注意的几点。

    在转换时会忽略前面的空格,会从第一个非空字符串开始解析,直到遇见非数字字符,会忽略非数字字符及之后的所有字符;

    在转换时会忽略小数点后的数值

    • pareseFloat()
      将字符串类型的值转换为浮点型数值
    javascript 复制代码
    pareseFloat("   1。1") //1.1
    pareseFloat("1.1") //1.1
    pareseFloat("3.14.15") //3.14
    pareseFloat("1zz") //1
    pareseFloat("z1") //NaN

    看上面的代码,可以知道,使用pareseFloat()函数时,需要注意的几点。

    在转换时会忽略前面的空格,会从第一个非空字符串开始解析,直到遇见非数字字符,会忽略非数字字符及之后的所有字符;

    在转换时会忽略第二个小数点后的数值

    • Number()
      将任意类型的值转换为数值类型的值;Number()的转换大致和parseInt()和 parseFloat()一样;但是对与转换的内容中包含 非数字,只会得到NaN;所以如果判断一个字符串是否时纯数字的时候 可以使用Number();

      javascript 复制代码

    Number(" 1。1") //1.1

    Number("1.1") //1.1

    Number("3.14.15") //3.14

    Number("1zz") //NaN

    Number("z1") //NaN

    复制代码
  • 将其他类型转换为字符串类型

    可以使用两种方式可以将其他类型的值转换为字符串类型

    • 通过String()构造函数产生新的字符串
      如果使用String()会产生新的字符串。
    • 通过调用其他类型的toString()方法来进行转换
相关推荐
FungLeo35 分钟前
成为全栈·Vue 管理后台篇·用 fetch 建一层可控的请求内核
前端·javascript·vue.js·http·fetch·formdata·接口封装
用户84298142418101 小时前
ByteJS,让重要的 JavaScript 以字节码运行。
javascript
li星野1 小时前
相位补偿学习记录:把被颅骨“打乱“的声波重新对齐
学习
Z21-X2 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
red_redemption2 小时前
自由学习记录(230)
学习
FungLeo2 小时前
成为全栈·Vue 管理后台篇·Vue Router如何守住多角色后台边界
前端·javascript·vue.js·rbac·vue router·路由守卫·前端权限
FungLeo3 小时前
成为全栈·Vue管理后台篇·仪表盘不是几张卡片:组合统计接口与角色视图
前端·javascript·vue.js·rbac·仪表盘·管理后台·tanstack query
程序员大阳3 小时前
HTML+CSS+JS对话式实战(7)-学生端活动报名功能开发
javascript·css·html·活动报名
西安小哥4 小时前
做 Agent 写到第三个小时,我开始给它算账
javascript
西安小哥4 小时前
让大模型操作浏览器跑了两周,我发现瓶颈根本不在模型
javascript