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 相关文章推荐
限制复选框的最大可选数
Jul 01 Javascript
javascript 写类方式之二
Jul 05 Javascript
在VS2008中使用jQuery智能感应的方法
Dec 30 Javascript
js循环改变div颜色具体方法
Jun 25 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
Apr 23 Javascript
JS判断变量是否为空判断是否null
Jul 25 Javascript
jquery实现类似淘宝星星评分功能有截图
Sep 15 Javascript
angularjs基础教程
Dec 25 Javascript
JavaScript的继承实现小结
May 07 Javascript
JavaScript实现的浏览器下载文件的方法
Aug 09 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
nestjs中异常过滤器Exceptionfilter的具体使用
Feb 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
php获取参数的几种方法总结
2014/02/18 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
brook javascript框架介绍
2011/10/10 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
2013/04/02 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
js中window.open打开一个新的页面
2014/08/10 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
原生JS实现留言板
2020/03/26 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
python获取糗百图片代码实例
2013/12/18 Python
python文件操作之目录遍历实例分析
2015/05/20 Python
python记录程序运行时间的三种方法
2017/07/14 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
2018/06/26 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
python多线程和多进程关系详解
2020/12/14 Python
python 基于opencv实现图像增强
2020/12/23 Python
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
培训讲师岗位职责
2014/04/13 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书