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

var a:int=<int>someNumberAsString;

这样的语法在javaScript中对DOM编程时可能会产生一些问题,stackoverflow中的提问如下:

anyone know how to cast in TypeScript?
有谁知道如何在TypeScript上进行类型转换
I'm trying to do this:
我试着这样进行转换: var script:HTMLScriptElement = document.getElementsByName("script")[];
alert(script.type); but it's giving me an error:
但是返回了一个错误:
Cannot convert 'Node' to 'HTMLScriptElement': Type 'Node' is missing property 'defer' from type 'HTMLScriptElement'
(elementName: string) => NodeList

回答如下所示:

TypeScript uses '<>' to surround casts, so the above becomes:
TypeScript使用'<>'来支持转换,因此上面的变成: var script = <HTMLScriptElement>document.getElementsByName("script")[]; However, unfortunately you cannot do:
然而,不幸的是你不能像如下这样进行转换: var script = (<HTMLScriptElement[]>document.getElementsByName(id))[]; You get the error
如果是这样你将得到一个错误 Cannot convert 'NodeList' to 'HTMLScriptElement[]' But you can do :
但是你可以: (<HTMLScriptElement[]><any>document.getElementsByName(id))[];
可以看到,在TypeScript中类型转换需要使用<类型>这样的语形式,在javaScript语言中类型的转换是透明隐式的进行的,但是在TypeScrpt中,必须得进行一次显示的转换:
var script=<HTMLScriptElement>document....
类型断言仅仅只是TypeScript的设计时期的特性,被设计用于确保你能够从一种类型转换成另一种类型,TypeScript使用了结构类型,如果一个Duck对象具有相同的方法和属性,那重叠就可以进行相互的转换.

最新文章

  1. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS
  2. CSS &amp; JS 制作滚动幻灯片
  3. IIS最大连接数优化
  4. jQuery入门(3)事件与事件对象
  5. CentOS 6.5下Redis安装详细步骤
  6. Java设计模式之-----工厂模式(简单工厂,抽象工厂)
  7. 【131031】struts 1 中 &lt;html:form&gt;
  8. 微信小程序开发:Flex布局
  9. document.getElementById和document.querySelector的区别
  10. Android Studio 单刷《第一行代码》系列 03 —— Activity 基础
  11. 我的Android进阶之旅------&gt;Android 设置默认语言、默认时区
  12. MFC下的aero效果学习笔记
  13. python命令行参数处理
  14. C语言基础复习总结
  15. python库安装(numpy+scipy+matplotlib+scikit_learn)
  16. JNI的使用总结初篇
  17. OpenCV中Mat总结
  18. android动态设置组件LayoutParams
  19. HTTP 的长连接和短连接
  20. Linux下搭建lnmp环境

热门文章

  1. 关于express项目的创建与启动
  2. 在采用vue-cli Post Get
  3. Cocos2d-x学习笔记(十一)动作
  4. python 元组中元组转为字典
  5. ubuntu 14.04 安装 glog
  6. 构造函数用return 会出显什么情况
  7. 拓扑排序 Topological Sort
  8. C++STL2--map
  9. ViewPager 如何得到当前的Fragment (使用FragmentPagerAdapter)
  10. codefroces 450B矩阵快速幂