TypeScript学习之强制类型的转换


Posted in Javascript onDecember 27, 2016

前言

使用强类型变量常常需要从一种类型向另一种类型转换,通常使用ToString或ParseInt可以来实现一些简单的转换,但是有时候需要像.NET语言中那样将一种类型显示的转换为另一种类型,在TypeScript规范中,被称为"类型断言",它仍然是类型转换,只是语法是有些不同。下面来详细看看TypeScript的强制类型转换。

TypeScript强制类型转换

在 TypeScript 中将一个 number 转换成 string ,这样做会报错:

var a:number = 12345;
var b:string = <string> a;
// laygroundSingle.ts(24,18): error TS2352: Neither type 'number' nor type 'string' is assignable to the other.

这样写虽然不会报错,但没有什么卵用:

var a:number = 12345;
var b:string = <string><any> a;
console.log(typeof b)
// "number" PlaygroundSingle.js:19:1

还是直接用 javascript 的方法比较靠谱:

var b:string = String(a);
// or
var b:string = a.toString();

注意 new String() String() 的区别:

var a:number = 12345;
// 使用 new 的时候类型必须是 String 而非 string ,否则无法编译通过
var b:String = new String(a);
// 不使用 new 则无所谓
var c:string = String(a);
console.log(a);
console.log('--------b');
console.log(typeof b);
console.log(b);
console.log(b.length);
console.log('--------c');
console.log(typeof c);
console.log(c);
console.log(c.length);

结果如下:

12345 PlaygroundSingle.js:22:9
“——?b” PlaygroundSingle.js:23:9
“object” PlaygroundSingle.js:24:1
String [ “1”, “2”, “3”, “4”, “5” ] PlaygroundSingle.js:25:9
5 PlaygroundSingle.js:26:9
“——?c” PlaygroundSingle.js:27:9
“string” PlaygroundSingle.js:28:1
“12345” PlaygroundSingle.js:29:9
5

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
JavaScript获取GridView选择的行内容
Apr 14 Javascript
jQuery学习笔记之控制页面实现代码
Feb 27 Javascript
jquery 之 $().hover(func1, funct2)使用方法
Jun 14 Javascript
json的定义、标准格式及json字符串检验
May 11 Javascript
Javascript函数式编程简单介绍
Oct 11 Javascript
纯javascript移动优先的幻灯片效果
Nov 02 Javascript
JS将unicode码转中文方法
May 08 Javascript
Angular2搜索和重置按钮过场动画
May 24 Javascript
详解webpack介绍&amp;安装&amp;常用命令
Jun 29 Javascript
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
使用Vue.set()方法实现响应式修改数组数据步骤
Nov 09 Javascript
在Chrome DevTools中调试JavaScript的实现
Apr 07 Javascript
如何利用JQuery实现从底部回到顶部的功能
Dec 27 #Javascript
详解js的六大数据类型
Dec 27 #Javascript
javascript ASCII和Hex互转的实现方法
Dec 27 #Javascript
谈谈第三方App接入微信登录 解读
Dec 27 #Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
Dec 27 #Javascript
修改ligerui 默认确认按钮的方法
Dec 27 #Javascript
js判断一个字符串是以某个字符串开头的简单实例
Dec 27 #Javascript
You might like
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
php实现文件下载代码分享
2014/08/19 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
jQuery 表单验证扩展(四)
2010/10/20 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
JS实现数组删除指定元素功能示例
2019/06/05 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
python如何修改装饰器中参数
2018/03/20 Python
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
python爬虫用scrapy获取影片的实例分析
2020/11/23 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
如何利用cmp命令比较文件
2016/04/11 面试题
文员的职业生涯规划发展方向
2014/02/08 职场文书
中学生打架检讨书
2014/02/10 职场文书
老兵退伍标语
2014/10/07 职场文书
留学推荐信中文范文
2015/03/26 职场文书
教师节简报
2015/07/20 职场文书