玩转TypeScript(引言&文章目录) --初看TypeScript.
JavaScript过去一直被当作一种玩具语言存在,直到2005年以后,这门语言又开始活跃并可以说是火爆,而且随着浏览器版本的不断升级和完善,各种DOM之间的兼容性已经渐渐的被各种技术解决了,比如经典的jQuery,JavaScript版本也在快速发展和完善。现如今,Web世界越来越让人摸不着边际,JSON、AJAX、HTML5、Sliverlight、Node.js、PhoneGap几乎都可以见到JavaScript忙碌的身影。不过渐渐的有经验的用户会发现JavaScript语言本身的局限性导致在开发大型应用的吃力,因为它本来就不是用来开发大型语言的。Google公司创造了一种全新的使得JavaScript可以应用于大型开发的语言名为Dart,它可以编译为JavaScript,因此也可以用来构建大中型的Web项目。其实JavaScript本身也是可以定义类或者是完成继承的,不过由于它属于动态语言,没有一种类似Python和IronRuby语言的功能,它也不具备类似于C#或VB那样基于面向对象的编程模型,一切都过于动态化,比如不支持强制类型、接口、直接命名空间等功能。
微软公司的技术大牛,也满腔热情的创建了TypeScript。作为JavaScript的超集,它可以支持静态类型、类、接口、模块以及很多.NET开发人员熟悉的特性和规范。微软通过TypeScript希望提供一种让JavaScript具有开发大型应用程序的能力。

更重要的是,微软提供了一套可以用来容易扩展、调试和修改的应用程序,其实究其核心来说,我们可以这样来认识TypeScript:
它就是JavaScript,因此运行在JavaScript上的库,比如jQuery、MooTools、Prototype都可以在TypeScript上良好运行。
JavaScript也可以看作是TypeScript,你可以将任何有效的.js文件重命名为TypeScript的.ts文件,然后使用TypeScript的编译器来编译。
TypeScript借用了Harmony规范,当Harmony批准后,TypeScript编译器就可以使用新的语言元素,并且允许新的Harmony兼容的引擎来解析TypeScript为纯JavaScript代码。
TypeScript编译器本身是一个JavaScript文件(通过TypeScript编译器最终编译成JavaScript文件),因此它可以在浏览器中运行,在任何主机或任何操作系统上运行,并不需要特定的VM并且也不会开发这样的VM。
注意:WisOne IDE也正是借用了这个特性,它在Web上整合了TypeScript编译器,使得我们可以在Web上编译TypeScript代码,以便在编译时就可以发现语法的错误。有兴趣的朋友也可以进去了解一下:http://www.wisone.com/ide
TypeScript是一个基于Apache 2.0的开源的项目,遵循owf A 1.0协议,这意味着可以随意使用和分发。
在Web开发世界,Dart和CoffeeScript都可以让开发大型的Web应用成为可能,微软也挤进来整出一个TypeScript,那这门语言究竟可以做什么,它是如何工作的,重要的是它不能做什么,这些有了解,就可以试着来进入TypeScript的世界了。从核心上来说,TypeScript由3个部分组成:
1,TypeScript编译器:本身就是用TypeScript写的,这个编译器可以将TypeScript语言编译成常用的JavaScript,编译出来的代码兼容ECMAScript V3版,或者是通过编译器切换支持V5版。
2, TypeScript语言服务层:TLS是一个Visual Studio插件,它提供了智能提示、强制类型安全和Visual Studio中的几个特性。
3, 声明性文件:TLS使用了声明性的文件来提供类型、函数调用和变量声明智能提示,这其中包含了第三方的库比如jQuery、Prototype以及MooTools等等。
不要将TypeScript看作是一门新的语言,它只是为了提升JavaScript代码质量的一个工具,最终TypeScript仍然要编译成JavaScript,所以你也可以使用所有的为JavaScript准备的工具,Microsoft建议使用在Visual Studio中编译TypeScript以提供智能提示或语法增强的功能,但这不是限制,使用普通的文本编辑器都可以用来编写TypeScript。
TypeScript相关的文章目录:
玩转TypeScript(1) --定义简单的类
玩转TypeScript(2) --简单TypeScript类型
玩转TypeScript(3) --数组
玩转TypeScript(4) --类型转换
玩转TypeScript(5)--环境声明
玩转TypeScript(6) --函数
玩转TypeScript(7) --函数的参数
玩转TypeScript(8) --函数的重载
玩转TypeScript(9) --类
玩转TypeScript(10) --属性和字段
玩转TypeScript(11) --类方法
玩转TypeScript(12) --访问修饰符
玩转TypeScript(13) --实例化类
玩转TypeScript(14) --静态类和成员
玩转TypeScript(15) --对象常量与匿名类型
玩转TypeScript(16) --接口
玩转TypeScript(17) --接口的合并
玩转TypeScript(18) --模块
玩转TypeScript(引言&文章目录) --初看TypeScript.的更多相关文章
- CSDN中根据文章自动生成文章目录
		
概述 CSDN中有根据文件内容中H标签在文章中自动生成文章目录,看起来比较专业,就想把它搬到自己的博客园中.类似下图 提取JS脚本 通过浏览器开发者工具(IE/Chrome)找到产生文章目录javas ...
 - CesiumJS 2022^ 源码解读[0] - 文章目录与源码工程结构
		
很高兴你能在浮躁的年代里还有兴趣阅读源代码,CesiumJS 至今已有十年以上,代码量也积累了三十多万行(未压缩状态). 我也很荣幸自己的文章能被读者看到,如果对你有帮助.有启发,点个赞就是对我最大的 ...
 - 【目录】本博客其他.NET开源项目文章目录
		
本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.本博客其他.NET开源项目文章目录 37..NET平台开源项目速览(17)FluentConsole让你的控制台酷起来 36..NET平 ...
 - 【Head-First设计模式】C#版-学习笔记-开篇及文章目录
		
原文地址:[Head-First设计模式]C#版-学习笔记-开篇及文章目录 最近一年断断续续的在看技术书,但是回想看的内容,就忘了书上讲的是什么东西了,为了记住那些看过的东西,最好的办法就是敲代码验证 ...
 - 使用autoc js生成文章目录(侧边)导航栏
		
介绍: autocjs 是一个专门用来生成文章目录(Table of Contents)导航的工具.autocjs 会查找文章指定区域中的所有 h1~h6 的标签,并自动分析文章的层次结构,生成文章的 ...
 - [翻译] 初看 ASP.NET Core 3.0 即将到来的变化
		
[翻译] 初看 ASP.NET Core 3.0 即将到来的变化 原文: A first look at changes coming in ASP.NET Core 3.0 在我们努力完成下一个 m ...
 - web开发微信文章目录
		
Web开发微信文章目录 2015-12-13 Web开发 本文是Web开发微信的文章目录.通过目录查看文章编号,回复文章编号就能查看文章全文. 回复编号查看全文,搜索分类名可以获得该分类下的文章. ...
 - c#Winform程序调用app.config文件配置数据库连接字符串  SQL Server文章目录   浅谈SQL Server中统计对于查询的影响   有关索引的DMV  SQL Server中的执行引擎入门 【译】表变量和临时表的比较  对于表列数据类型选择的一点思考  SQL Server复制入门(一)----复制简介  操作系统中的进程与线程
		
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...
 - Win10安装1 —— 引言与目录
		
本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12368107.html 一:引言 众所周知,电脑出现问题了后,重启 可以解决90 ...
 
随机推荐
- 一个对iBatis的总结写的不错(转载)
			
转载自:http://blog.csdn.net/panxueji/article/details/9852795 一. ibatis介绍 ibatis始于2002年,2010年更名为mybatis, ...
 - linux——压缩解压命令学习简单笔记
			
一: 命令名称:gzip 命令英文原意:GNU zip 命令所在路径:/bin/gzip 执行权限:所有用户 语法:gzip 选项 [文件] 功能描述:压缩文件 压缩后文件格式:.gz 1:只能压缩文 ...
 - hihocode 九十七周  中国剩余定理
			
题目1 : 数论六·模线性方程组 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:今天我听到一个挺有意思的故事! 小Hi:什么故事啊? 小Ho:说秦末,刘邦的将军 ...
 - URAL 2072 Kirill the Gardener 3
			
URAL 2072 思路: dp+离散化 由于湿度的范围很大,所以将湿度离散化 可以证明,先到一种湿度的最左端或者最右端,然后结束于最右端或最左端最优,因为如果结束于中间,肯定有重复走的路 状态:dp ...
 - c++中的引用详解
			
什么是引用? 引用是C++语言的一个特殊的数据类型描述,用于在程序的不同的部分使用两个以上的变量名指向同一块地址,使得对其中任何一个变量的操作实际上都是对同一地址单元进行的. 使用时的注意事项: 引用 ...
 - hdu-1849-nim模板
			
Rabbit and Grass Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
 - hdu  2266  dfs+1258
			
How Many Equations Can You Find Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 ...
 - 贪心(二)NYOJ14题
			
#include <iostream> #include<cmath> #include "algorithm" using namespace std; ...
 - log4j配置文件位置详解
			
自动加载配置文件: (1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解.log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找lo ...
 - spring中@Scope作用域的注解
			
@Scope简单点说就是用来指定bean的作用域 官方解释是:scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间,即在IOC容器在对象进入相应的scope之前,生成并装配这些对 ...