TypeScript学习之强制类型的转换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TypeScript学习之强制类型的转换
前⾔
使⽤强类型变量常常需要从⼀种类型向另⼀种类型转换,通常使⽤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
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,如果有疑问⼤家可以留⾔交流。

相关文档
最新文档