玩转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 ...
随机推荐
- python sort、sorted
1. (1).sorted()方法返回一个新列表(默认升序). list.sort() (2).另一个不同:list.sort()方法仅被定义在list中,sorted()方法对所有的可迭代序列都有效 ...
- 《A_Pancers》第二次作业 基于Android系统的音乐播放系统项目开题报告
小组名 N A B C D 总分 Just_Do_IT! 8 8 9 9 8 42 Miracle-House 8 8 7 8 8 39 ymm3 9 8 8 8 8 41 Spring_Four ...
- jq 命名空间
$('ul').on("click",function(){console.log('all');});$('ul').on("click.a",functio ...
- Java实现冒泡排序算法
一.基本思路: 冒泡排序是一种简单的交换类排序.其基本思路是,从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移.每经过 一趟排序后,关键字值最大的元素将移到末尾,此 ...
- Codeforces 294D - Shaass and Painter Robot
294D - Shaass and Painter Robot 思路: 可以用数学归纳法证明一个结论:整个棋盘黑白相间当且仅当边缘黑白相间. 分奇偶讨论又可得出边缘黑色格个数为n+m-2 这样就可以暴 ...
- Unity另外一套简单日志控制系统
using UnityEngine; public class LogPrintf { static LogLevel logLevel = LogLevel.LOG_LEVEL_ERROR; pub ...
- Vue.js教程--基础2(事件处理 表单输入绑定
事件处理 表单输入绑定 事件处理 监听v-on 监听 DOM 事件,并在触发时运行一些 JavaScript 代码. 可以在v-on:click=''加内联语句. 有时也需要在内联语句处理器中访问原始 ...
- [洛谷P1507]NASA的食物计划 以及 对背包问题的整理
P1507 NASA的食物计划 题面 每个物品有三个属性,"所含卡路里":价值\(v\),"体积":限制1\(m_1\),以及"质量":限制 ...
- python-day41--数据库---数据类型
一.存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 二.mysql 数据类型 1.数字:(宽度指的是显示宽度,与存储无关) 不用指定宽度, ...
- UVA-1374 Power Calculus (迭代加深搜索)
题目大意:问最少经过几次乘除法可以使x变成xn. 题目分析:迭代加深搜索. 代码如下: # include<iostream> # include<cstdio> # incl ...