TS-类型转换(显式)

1.将其他类型转换为布尔类型

要将其他类型转换为布尔类型,只需要将待转换的值传入Boolean()函数

var msg: string = "ok";
var msgToBollean: boolean = Boolean(msg); //得到true

Boolean()函数会判断传入的值是空值还是非空值。

若表示非空值,则返回true

若表示空值,则返回false

在TypeScipt中,以下5种值在一定程度上都有空值的含义,转换后会返回false,而对于其他值都会返回true

1.undefined(无初始值)

2.null(无值)

3.NaN(非正确数字)

4.0

5.""(空字符串)

console.log(Boolean(undefined)); //输出false
console.log(Boolean(null));      //输出false
console.log(Boolean(0));         //输出false
console.log(Boolean(""));        //输出false
console.log(Boolean(NaN));       //输出false
console.log(Boolean(-1));        //输出true
console.log(Boolean("false"));   //输出true

2.将其他类型转换为数值类型

将其他类型转换为数值类型的函数有以下3个

1.parseInt():将字符串类型的值转换为整型数值

2.parseFloat():将字符串类型的值转换为浮点类型数值

3.Number():将任意类型的值转换为数值类型的值

2.1parseInt()

parseInt()函数可以将传给它的代表数字的字符串转换成整数

let scoreString: string = "100";
let score: number = parseInt(scoreString); //100

在转换时,需要注意以下几点

1.该函数在转换时会忽略掉前面的空格,会从第一个非空字符串开始解析,如果解析过程中遇到非数字字符,会从这里开始忽略掉它及它以后的所有字符串,示例代码如下。

console.log(parseInt("     100")); //输出100
console.log(parseInt("100y01"));   //输出100

2.如果待转换的字符串的首个非空格字符串不是数字或正负号,则返回NaN

console.log(parseInt("y100"));  //输出NaN

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

console.log(parseInt("100.1")); //输出100

2.2parseFloat

parseFloat()和parseInt()函数类似,但该函数将传给它的代表数字的字符串转换成浮点数。

let scoreString: string = "99.9";
let score: number = parseFloat(scoreString); //99.9

在转换时需要注意以下几点:

1.parseInt()函数类似,parseFloat()函数也会忽略字符串开头的空格,解析过程中如果遇到非浮点数字符(除正负号,小数点,0—9或科学记数法的指数e或E字符),会从这里开始忽略它及它以后的所有字符串。

console.log(parseFloat("     -99.9")); //输出-99.9
console.log(parseFloat("99.9y01"));    //输出99.9

2. 字符串中的第二个小数点无效。

console.log(parseFloat("99.9.88"));    //输出99.9

3.如果没有小数点,或小数点后面的数字为0,转换出的数值实际上为整数。

 

console.log(parseFloat("99.9.88"));    //输出99.9

2.3Number()

Number()函数可以将传给它的任意类型的值转换成数值类型。对于不同的待转换类型,其转换规则略有不同。

1)将布尔类型转换为数值类型
当将布尔类型转换为数值类型时,true会转换为1,false会转换为0。

console.log(Number(true));  //输出1
console.log(Number(false)); //输出0

 2)将undefined、null、""(空字符串)等空值转换为数值类型
null和""将会被转换为0,而undefined将会被转换为NaN。

console.log(Number(undefined)); //输出NaN
console.log(Number(null));      //输出0
console.log(Number(""));        //输出0

3)将字符串类型转换为数值类型
当进行这种转换时,其规则和使用parseFloat()函数进行转换类似,区别在于Number()函数要求字符串的非空字符必须是严格的数字形式,否则会直接返回NaN。

console.log(Number("99.9    "));   //输出99.9
console.log(Number("     -99.9")); //输出-99.9
console.log(Number("99.9y01"));    //输出NaN
console.log(Number("99.9.88"));    //输出NaN

3.将其他类型转换为长整型

BigInt()函数可以将传给它的数值类型和字符串类型的值转换为长整型。

let bigint1: bigint = BigInt("124573945793");
let bigint12: bigint = BigInt(1232434531);

 BigInt()函数要求字符串的非空字符必须是严格的整数形式,否则会在运行时报错。

4.将其他类型转换为字符串类型

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

1.通过String()构造函数产生新的字符串

2.通过调用其他类型的toString()方法来进行转换

4.1调用String()

几乎所有类型都可以通过String()产生新的字符串

let string1: string = String(99.9);      //得到"99.9"
let string2: string = String(true);      //得到"true"
let string3: string = String(null);      //得到"null"
let string4: string = String(NaN);       //得到"NaN"
let string5: string = String(undefined); //得到"undefined"

4.2调用toString()

调用其他类型的toString()方法来进行转换

let number1: number = 99.9;
let boolean1: boolean = true;
let bigint1: bigint = 666n;
let nanNumber: number = NaN;
console.log(number1.toString());   //输出"99.9"
console.log(boolean1.toString());  //输出"true"
console.log(bigint1.toString());   //输出"666"
console.log(nanNumber.toString()); //输出"NaN"

 注意,null和undefined两种表示无值的类型不具备该方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/19759.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python——Selenium快速上手+方法(一站式解决问题)

目录 前言 一、Selenium是什么 二、Python安装Selenium 1、安装Selenium第三方库 2、下载浏览器驱动 3、使用Python来打开浏览器 三、Selenium的初始化 四、Selenium获取网页元素 4.1、获取元素的实用方法 1、模糊匹配获取元素 & 联合多个样式 2、使用拉姆达表达式 3、加上…

Python零基础-下【详细】

接上篇继续: Python零基础-中【详细】-CSDN博客 目录 十七、网络编程 1、初识socket (1)socket理解 (2)图解socket (3)戏说socket (4)网络服务 (5&a…

线程进阶-1 线程池

一.说一下线程池的执行原理 1.线程池的七大核心参数 (1)int corePoolSize:核心线程数。默认情况下核心线程会一直存活,当设置allowCoreThreadTimeout为true时,核心线程也会被超时回收。 (2)i…

Linux基础指令磁盘管理001

Linux磁盘管理涉及多个方面,包括硬盘分区、文件系统创建、挂载、检查磁盘空间、优化性能和维护等。今天我们讲一下磁盘的分区挂载,文件系统的创建。 操作系统 CentOS Stream 9 磁盘的分区 当我们新插入一块磁盘后,首先使用fdisk -l查看磁盘…

实战经验分享之移动云快速部署Stable Diffusion SDXL 1.0

本文目录 前言产品优势部署环境准备模型安装测试运行 前言 移动云是中国移动面向政府、企业和公众的新型资源服务。 客户以购买服务的方式,通过网络快速获取虚 拟计算机、存储、网络等基础设施服务;软件开发工具、运行环境、数据库等平台服务&#xff1…

【评价类模型】熵权法

1.客观赋权法: 熵权法是一种客观求权重的方法,所有客观求权重的模型中都要有以下几步: 1.正向化处理: 极小型指标:取值越小越好的指标,例如错误率、缺陷率等。 中间项指标:取值在某个范围内较…

[ubuntu18.04]搭建mptcp测试环境说明

MPTCP介绍 Multipath TCP — Multipath TCP -- documentation 2022 documentation 安装ubuntu18.04,可以使用虚拟机安装 点击安装VMware Tool 桌面会出现如下图标 双击打开VMware Tools,复制如下图所示的文件到Home目录 打开终端,切换到管…

[Linux]重定向

一、struct file内核对象 struct file是在内核中创建,专门用来管理被打开文件的结构体。struct file中包含了打开文件的所有属性,文件的操作方法集以及文件缓冲区(无论读写,我们都需要先将数据加载到文件缓冲区中。)等…

基于JSP的高校二手交易平台

开发语言:Java 数据库:MySQL 技术:JSP技术 工具:浏览器(如360浏览器、谷歌浏览器、QQ浏览器等)、MySQL数据库 系统展示 系统功能界面 用户注册与登录界面 个人中心界面 商品信息界面 摘要 本文研究了高…

C#中的数组探索

在C#编程语言中,数组是一种基本的数据结构,用于存储固定大小的同类型元素序列。本文将深入探讨C#数组的各个方面,包括定义、赋值、范围操作、切片、多维数组(矩形与锯齿形)、简化初始化表达式以及边界检查。 数组定义…

为何懂行的人都在选海信Mini LED?

今年的618大促比往年来得要更早一些。纵览各电商平台的电视产品,能发现Mini LED电视的出镜率很高,成了各大品牌的主推产品。 对于什么样的Mini LED更值得买,各品牌都有自己的说辞。因为缺乏科学系统的选购标准,消费者容易在各方说…

【Qt】【模型-视图架构】代理模型示例

文章目录 1. 基本排序/过滤模型Basic Sort/Filter Model Example2. 自定义排序/过滤模型Custom Sort/Filter Model ExampleFilterLineEdit类定义及实现MySortFilterProxyModel类定义及实现 1. 基本排序/过滤模型Basic Sort/Filter Model Example 官方提供的基本排序/过滤模型示…

docker镜像体积优化攻略参考—— 筑梦之路

简单介绍 镜像的本质是镜像层和运行配置文件组成的压缩包,构建镜像是通过运行 Dockerfile 中的 RUN 、COPY 和 ADD 等指令生成镜像层和配置文件的过程。 和镜像体积大小有关的关键点: RUN、COPY 和 ADD 指令会在已有镜像层的基础上创建一个新的镜像层&…

【数据结构】详解二叉树

文章目录 1.树的结构及概念1.1树的概念1.2树的相关结构概念1.3树的表示1.4树在实际中的应用 2.二叉树的结构及概念2.1二叉树的概念2.2特殊的二叉树2.2.1满二叉树2.2.2完全二叉树 2.3 二叉树的性质2.4二叉树的存储结构2.4.1顺序结构2.4.2链表结构 1.树的结构及概念 1.1树的概念…

基于SSM的车辆租赁管理系统(含源码+sql+视频导入教程)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的车辆租赁管理系统1拥有两种角色 管理员:用户管理、用户租车、用户换车和车辆入库、添加汽车、添加客户、生成出租单、客户选车、出租单管理、查询出租单、角色权限管…

代码随想录算法训练营第三十四 |● 1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果

今天的解析写在了代码注释中 1005.K次取反后最大化的数组和 讲解链接:https://programmercarl.com/1005.K%E6%AC%A1%E5%8F%96%E5%8F%8D%E5%90%8E%E6%9C%80%E5%A4%A7%E5%8C%96%E7%9A%84%E6%95%B0%E7%BB%84%E5%92%8C.html class Solution { public:static bool cmp(i…

登录校验及全局异常处理器

登录校验 会话技术 会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束.在一次会话中可以包含多次请求和响应会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话请求间共享数据会话跟踪方案 客户端…

关于MD5

首先还是介绍一下关于md5的基本信息: MD5(Message Digest Algorithm 5)是一种常用的哈希函数,用于产生128位(16字节)的哈希值,通常以32个十六进制数字表示。MD5广泛用于计算文件或文本数据的校…

分享一个 ASP.NET Web Api 上传和读取 Excel的方案

前言 许多业务场景下需要处理和分析大量的数据,而 Excel 是业务人员常用的数据表格工具,因此,将 Excel 表格中内容上传并读取到网站,是一个很常见的功能,目前有许多成熟的开源或者商业的第三方库,比如 NPO…

香港电讯荣获经济通「金融科技大奖」专业认可

香港电讯非常荣幸在《经济通》举办的「2023金融科技大奖」中脱颖而出,获「杰出跨境数码方案」、「杰出网络安全方案(商用)」和「杰出ESG解决方案」三个重要奖项。 香港电讯拥有丰富的经验及庞大的专业技术团队,一直致力为客户提供…