(转) 一步一步学习ASP.NET 5 (五)- TypeScript
转发:微软MVP 卢建晖 的文章,希望对大家有帮助。原文:http://blog.csdn.net/kinfey/article/details/44568971
编者语 : 人总会多次犯错,历史上告诫大家不要在演讲前更新最新版本的软件,但周末我又一次错了......好吧下次我坚决录屏。本来约好周日和大家见,但深圳回来后又是各种的会议耽搁到现在真的不好意思。大家想我了吗?上周发了4篇,貌似效果都不错,谢谢徐总和善友的微信推广。感恩,感谢有这群好兄弟的支持!今天和大家聊聊TypeScript 。有人觉得这个话题与ASP.NET 5 无关但是个人觉得关系比较密切,毕竟你要做前端 。
什么是TypeScript ?
TypeScript 是JavaScript 的超集,它给JavaScript带来了面向对象,也带来了静态类型。在你的项目中不需要修改任何现有JavaScript代码就可以注入TypeScript代码。通过TypeScript你可以规范JavaScript代码方式并以面向对象的方式构建你的前端。TypeScript已经支持现在流行的JavaScript库,让你更容易去和现有项目结合,如Jquery/AngularJS/KnockoutJS/NodeJS等。(进入官方网站)
TypeScript环境配置
1.安装
npm install -g typescript
2.开发环境
个人建议还是在Sublime Text ,通过Control Package 安装Better TypeScript .
TypeScript的几个主要特点
1. 静态类型
TypeScript通过静态类型规范了JavaScript变量的声明,并在编译时提供类型检查。如下图
这里定义了一个类,并在类中定义了一个getJSON的方法,这里结合静态类型对方法所传送的参数进行类型定义, 并返回void。如果你用传统的JavaScript写,虽然弱类型的方式比较方便,但是对于传参的类型不明确。通过TypeScript你就可以像C/C++那样编写你的前端代码。这里说明一点,当你对于对象的类型不太明确时你可以用any(动态类型)取代。
2. 面向对象
TypeScript为JavaScript带来了interface/class/module等面向对象的特性。这个好处除了规范代码,也可以规范前端项目结构。以往我们的JS项目用传统的MVC/MVVM入手总因为JavaScript太过灵活,导致架构无从入手。通过TypeScript你可以利用面向对象去整合你的前端代码。
3.ts编译器
通过tsc 可以将TypeScript的ts文件编译为通用的JavaScript文件。当然你可以选择预编译的方式,也可以选择实时编译的方式。还是那句咸鱼白菜各有所爱,就看自身需求。而我在项目中我喜欢用预编译。
4.第三方库支持(关于第三方库的对应TypeScript可以从这里获取)
现在TypeScript都和主流的库都有匹配对应,你可以从nuget/上面的链接中获取。本人架构前端基本上基于AngularJS/KnockoutJS, 基本上没有大问题。更可喜的是AngularJS 2.0 和TypeScript进行了更加深入的整合(Google+Microsoft)。
基于TypeScript的前端,让你写代码更Cool,更不会再让你为一些奇怪的语法而迷惑。我喜欢TypeScript,你呢?
欢迎关注本博客微信订阅号 anb-io。每周推送内容,有技术也有生活,和你一起做一个有情怀的程序猿。
(转) 一步一步学习ASP.NET 5 (五)- TypeScript的更多相关文章
- 学习ASP.NET MVC(五)——我的第一个ASP.NET MVC CURD页面
在上一篇文章中我们已经创建了实体类,在这一篇文章中,我将创建一个新的控制器类——BookController,使用BookController对Books表中的数据进行CURD操作的方法,并使用视图模 ...
- 学习ASP.NET MVC(七)——我的第一个ASP.NET MVC 查询页面
在本篇文章中,我将添加一个新的查询页面(SearchIndex),可以按书籍的种类或名称来进行查询.这个新页面的网址是http://localhost:36878/Book/ SearchIndex. ...
- 学习ASP.NET MVC(一)——我的第一个ASP.NET MVC应用程序
学习ASP.NET MVC系列: 学习ASP.NET MVC(一)——我的第一个ASP.NET MVC应用程序 学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器 学习ASP ...
- 学习ASP.NET MVC(九)——“Code First Migrations ”工具使用示例
在上一篇文章中,我们学习了如何使用实体框架的“Code First Migrations ”工具,使用其中的“迁移”功能对模型类进行一些修改,同时同步更新对应数据库的表结构. 在本文章中,我们将使用“ ...
- 学习ASP.NET MVC(十一)——分页
在这一篇文章中,我们将学习如何在MVC页面中实现分页的方法.分页功能是一个非常实用,常用的功能,当数据量过多的时候,必然要使用分页.在今天这篇文章中,我们学习如果在MVC页面中使用PagedList. ...
- 学习ASP.NET MVC系列 - 还有比这更简炼的吗?把复杂的事情变简单了,贡献啊!
转自
- (转) 一步一步学习ASP.NET 5 (四)- ASP.NET MVC 6四大特性
转发:微软MVP 卢建晖 的文章,希望对大家有帮助.原文:http://blog.csdn.net/kinfey/article/details/44459625 编者语 : 昨晚写好的文章居然csd ...
- (转) 一步一步学习ASP.NET 5 (二)- 通过命令行和sublime创建项目
转发:微软MVP 卢建晖 的文章,希望对大家有帮助. 注:昨天转发之后很多朋友指出了vNext的命名问题,原文作者已经做出了修改,后面的标题都适用 asp.net 5这个名称. 编者语 : 昨天发了第 ...
- 3、带你一步一步学习ASP.NET Core中的配置之Configuration
如果你是刚接触ASP.NET Core的学习的话,你会注意到:在ASP.NET Core项目中,看不到.NET Fraemwork时代中的web.config文件和app.config文件了.那么你肯 ...
随机推荐
- JQuery对ASP.NET MVC数据进行更新删除
以前学习ASP.NET MVC时,学习与应用,操作过数据显示,添加,编辑,更新和删除等功能. 很多方法是相通的,看自己是怎样来进行方便,快捷,高效率. 今天Insus.NET写的练习,是直接对绑定在T ...
- MD5编码工具类 MD5Code.java
代码如下: package com.util; /** * MD5编码工具类 * http://www.cnblogs.com/sosoft/ */ public class MD5Code { st ...
- sql 删除重复行
1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from ...
- 使用C#向Sql Sever中存取网络图片和本地图片(二进制流的形式)
先是做普通的,存储我们本地的图片,将它转化为二进制流存储到数据库对应的表中. 代码如下: string path = "../../A.jpg"; FileStream fs = ...
- mysql中,ENCODE警告---Warning Code : 1287
mysql中,ENCODE警告 共 1 行受到影响, 1 个警告 执行耗时 : 0.072 sec传送时间 : 0.001 sec总耗时 : 0.073 sec Warning Code : 1287 ...
- [moka同学笔记]Yii2.0给一张表中增加一个属性
1.model中建立关联 public function getUser(){ return$this->hasOne(User::className(),['id'=>'uid']) ; ...
- WebDriver多线程并发
要想多线程并发的运行WebDriver,必须同时满足2个条件,首先你的测试程序是多线程,其次需要用到Selenium Server.下载位置如下图: 下载下来后是一个jar包,需要在命令行中运行.里面 ...
- HTTP 方法:GET 对比 POST
什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信. HTTP 的工作方式是客户机与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用程 ...
- Webform(分页与组合查询配合使用)
1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> ...
- Quartz.NET开源作业调度框架系列(一):快速入门step by step
Quartz.NET是一个被广泛使用的开源作业调度框架 , 由于是用C#语言创建,可方便的用于winform和asp.net应用程序中.Quartz.NET提供了巨大的灵活性但又兼具简单性.开发人员可 ...