详解TypScript数据类型转换
最近在用TypeScript(后面简称TS),发现TS虽然语法和C#差不多但是在很多地方还是不够高级(和C#相比),这里主要聚焦在数据类型强转上面,直接看下面案例吧
string转number
案例如下
let i: number = 0;
console.log(typeof i);
let k: string = '123';
console.log(typeof k);
i = +k;
console.log(typeof i,typeof k);
console.log(i);
上面代码执行结果是
number
string
number string
123
** 自定义类型如何强转? **
查了下TypeScript里数据类型强转是通过以下方式:
let yy: any = '111';
console.log('yy数据类型为:', typeof (yy));
let kk: number = <number>yy;
console.log('yy数据类型为:', typeof (yy), 'kk数据类型为:', typeof(kk));
代码结果是:"yy数据类型为: string"
“yy数据类型为: string kk数据类型为: string”
需要说明的是代码中变量yy必须申明为any类型,否则编译器会提示语法错误。由此我得知的结论是TS的强转前提是需强转的对象数据类型必须为any。 那么TS的强制转换只有这一个前提么? 继续看下面代码:
console.log('begindate格式化前的类型',
typeof ($(this.BeginDateDatePicker.nativeElement).data('DateTimePicker').date()));
console.log('begindate格式化后的类型:',
typeof ($(this.BeginDateDatePicker.nativeElement).data('DateTimePicker').date().format('L')));
let y = <moment.Moment>($(this.BeginDateDatePicker.nativeElement).data('DateTimePicker').date().format('L'));
console.log('begindate式化后后再转换后的类型:',
typeof (y));
上面代码中用到了页面中的日期input的值,也引用了Moment插件(官网:http://momentjs.cn/)。
代码需求是要将input的日期格式化为"yyyy-MM-dd"格式。上面的代码可以编译通过,虽然需转换类型的日期值对象当前数据类型为string(不为any),但是编译器还是通过了。我们来看最终执行结果:
结果如下:
begindate格式化前的类型 object
begindate格式化后的类型: string
begindate式化后后再转换后的类型: string
结论
上面代码的执行结果可知,TS内置数据类型强转方式是建立在TS内置的数据类型基础上 我们自定义数据类型或是第三方插件的数据类型如需强转需要自己实现。 同时,对内置数据类型强转也需遵循TS自身的语法要求。
最后还是通过momentjs官网的强转方式将string对象转换成了moment.Moment类型对象。最终代码如下:
createOrEditInput.luckDrawActivitySetting.beginDate =
moment($(this.BeginDateDatePicker.nativeElement)
.data('DateTimePicker').date().format('L'));
createOrEditInput.luckDrawActivitySetting.endDate =
moment($(this.EndDateDatePicker.nativeElement)
.data('Da
详解TypScript数据类型转换的更多相关文章
- 十图详解tensorflow数据读取机制(附代码)转知乎
十图详解tensorflow数据读取机制(附代码) - 何之源的文章 - 知乎 https://zhuanlan.zhihu.com/p/27238630
- 详解Tensorflow数据读取有三种方式(next_batch)
转自:https://blog.csdn.net/lujiandong1/article/details/53376802 Tensorflow数据读取有三种方式: Preloaded data: 预 ...
- 百度大脑UNIT3.0详解之数据生产工具DataKit
在智能对话项目搭建的过程中,高效筛选.处理对话日志并将其转化为新的训练数据,是对话系统效果持续提升的重要环节,也是当前开发者面临的难题之一.为此百度大脑UNIT推出学习反馈闭环机制,提供数据获取.辅助 ...
- Sql Server函数全解<三>数据类型转换函数和文本图像函数
阅读目录 一:数据类型转换函数 二:文本和图像函数 一:数据类型转换函数 在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换.对于数据类型相近的值是有效的,比如int和flo ...
- Sql Server函数全解(三)数据类型转换函数和文本图像函数
一:数据类型转换函数 在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换.对于数据类型相近的值是有效的,比如int和float,但是对于其它数据类型,例如整型和字符类型,隐士 ...
- 不看就亏了:DELL EqualLogic PS6100详解及数据恢办法
DELL EqualLogic PS6100采用虚拟ISCSI SAN阵列,为远程或分支办公室.部门和中小企业存储部署带来企业级功能.智能化.自动化和可靠性,支持VMware.Solaris.Linu ...
- 详解APM数据采样与端到端
高驰涛 云智慧首席架构师 据云智慧统计,APM从客户端采集的性能数据可能占到业务数据的50%,而企业要做到从Request到Response整个链路中涉及到的所有数据的准确采集,并进行有效串接,进而实 ...
- MongoDB副本集配置系列十:MongoDB local库详解和数据同步原理
1:local库是MongoDB的系统库,记录着时间戳和索引和复制集等信息 gechongrepl:PRIMARY> use local switched to db local gechong ...
- tensorflow 1.0 学习:十图详解tensorflow数据读取机制
本文转自:https://zhuanlan.zhihu.com/p/27238630 在学习tensorflow的过程中,有很多小伙伴反映读取数据这一块很难理解.确实这一块官方的教程比较简略,网上也找 ...
随机推荐
- netcore 获取本地网络IP地址
.net framework 下面可以用下面的代码获取到本地网络ip地址.netcore下面这个代码也依然可以用 System.Net.Dns.GetHostName() System.Net.Dns ...
- 在linux服务器之间复制文件和目录命令scp
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...
- ActiveMQ详解
Apache ActiveMQ介绍 使用MQ的场景 ActiveMQ的安装 收发消息的简单实现 ActiveMQ内部实现 queue和topic 消息持久化 kahadb原理 最关键的6个配置 Apa ...
- 死磕 java集合之LinkedTransferQueue源码分析
问题 (1)LinkedTransferQueue是什么东东? (2)LinkedTransferQueue是怎么实现阻塞队列的? (3)LinkedTransferQueue是怎么控制并发安全的? ...
- Python爬虫入门教程 58-100 python爬虫高级技术之验证码篇4-极验证识别技术之一
目录 验证码类型 官网最新效果 找个用极验证的网站 拼接验证码图片 编写自动化代码 核心run方法 模拟拖动方法 图片处理方法 初步运行结果 拼接图 图片存储到本地 @ 验证码类型 今天要搞定的验证码 ...
- .NET(WinCE、WM)转Android开发——Xamarin和Smobiler对比
对比 WinCE Android 行业场景 扫描分拣.车载.工控 扫描分拣.车载定位 开发语言 C++.C# Java/.NET(Smobiler) 开发环境 Visual Studio Androi ...
- Android8.0通知
android里面经常会使用Notification来显示通知的消息,一般使用NotificationManager来创建通知消息 NotificationManager manger = (Noti ...
- Button控件的点击事件
Java的代码 主要重点: findViewById(); OnClickListener() package com.example.admin.myapplication; import andr ...
- 2. [mmc subsystem] mmc core数据结构和宏定义说明
一.host相关 1.struct mmc_host struct mmc_host是mmc core由host controller抽象出来的结构体,用于代表一个mmc host控制器. 数据结构如 ...
- wampserver一系列问题总结
总结下之前wampserver集成包安装的问题. windows sever 2008 R2 64,wampserver3.1.4_x64. 在安装的过程,有选择默认浏览器和编辑器,这些安装步骤简单, ...