1劝堪、前言
- TypeScript是一種由微軟開(kāi)發(fā)的自由和開(kāi)源的編程語(yǔ)言。它是JavaScript的一個(gè)超集,而且本質(zhì)上向這個(gè)語(yǔ)言添加了可選的靜態(tài)類型和基于類的面向?qū)ο缶幊涛侍丁0驳滤埂ず査共裾颐郏珻#的首席架構(gòu)師饼暑,已工作于TypeScript的開(kāi)發(fā)。2012年十月份洗做,微軟發(fā)布了首個(gè)公開(kāi)版本的TypeScript弓叛,2013年6月19日,在經(jīng)歷了一個(gè)預(yù)覽版之后微軟正式發(fā)布了正式版TypeScript 0.9诚纸,向未來(lái)的TypeScript 1.0版邁進(jìn)了很大一步撰筷。
2、背景
- TypeScript 起源于開(kāi)發(fā)應(yīng)用程序規(guī)模的 JavaScript 應(yīng)用程序的需求畦徘。Microsoft 的語(yǔ)言開(kāi)發(fā)者們說(shuō)內(nèi)部以及外部的客戶都表示他們構(gòu)建 JavaScript 代碼的問(wèn)題毕籽。
很多最終依賴于 JavaScript 的開(kāi)發(fā)者通常用編譯為 JavaScript 代碼的另一種語(yǔ)言寫腳本,例如 CoffeeScript 和 Script# (讀作 ScriptSharp)井辆。一個(gè)明顯的劣勢(shì)是也許無(wú)法從那另一種語(yǔ)言使用任何 JavaScript 的具體的語(yǔ)言特性关筒,如果那種語(yǔ)言不支持它的話。在 Microsoft 內(nèi)部杯缺,它導(dǎo)致了自定義工具以簡(jiǎn)化 JavaScript 組件的編寫的需求蒸播。
3 特性
- TypeScript 是一種給 JavaScript 添加特性的語(yǔ)言擴(kuò)展。
- 類型批注和編譯時(shí)類型檢查
- 類 Classes
- 接口 Interfaces
- 模塊 Modules
- 類型注解 Type annotations
- 編譯時(shí)類型檢查 Compile time type checking Arrow 函數(shù) (類似 C# 的 Lambda 表達(dá)式)
語(yǔ)法上,TypeScript 很類似于 JScript .NET袍榆,另外一個(gè)添加了對(duì)靜態(tài)類型胀屿,經(jīng)典的面向?qū)ο笳Z(yǔ)言特性如類,繼承包雀,接口和命名空間等的支持的 Microsoft 對(duì) ECMA-262 語(yǔ)言標(biāo)準(zhǔn)的實(shí)現(xiàn)宿崭。
4 工具
- TypeScript 編譯器,名稱叫 tsc, 是用可以被編譯為可以被執(zhí)行在任何 JavaScript 引擎中才写,在任何宿主 - 如瀏覽器 - 中的常規(guī) JavaScript 的 TypeScript 寫的劳曹。編譯器包被綁定于一個(gè)可以執(zhí)行編譯器的腳本宿主。使用 Node.js 作為宿主的 Node.js 包同樣可以獲得 也有用 JavaScript 寫的客戶端編譯器的一個(gè) alpha 版本琅摩,它在頁(yè)面載入時(shí)铁孵,實(shí)時(shí)執(zhí)行 JavaScript 代碼。這種編譯器的當(dāng)前版本默認(rèn)支持 ECMAScript 3房资。一個(gè)選項(xiàng)是允許以 ECMAScript 5 為目標(biāo)以利用該版本獨(dú)有的語(yǔ)言特性蜕劝。類,盡管是 ECMAScript 6 標(biāo)準(zhǔn)的一部分轰异,在這兩個(gè)模式下都可用岖沛。
- IDE 和編輯器支持 Microsoft為 Visual Studio 2012 和
WebMatrix
提供了一個(gè)插件,也為Sublime Text
,Emacs
和Vim
提供了基本的文本編輯器支持搭独。[ 在線的 Cloud9 IDE也支持TypeScript
婴削。JetBrains
也計(jì)劃在他們的 IDE 系列中支持TypeScript
, 而且已經(jīng)發(fā)行了具有部分支持的PhpStorm 6
和WebStorm 6
預(yù)覽版本。
5 開(kāi)源
- TypeScript 是開(kāi)源的牙肝,其源代碼可以在 Apache 2 License 下從 CodePlex 獲得唉俗。這個(gè)項(xiàng)目由 Microsoft 維持,但是任何人可以通過(guò)經(jīng) CodePlex 項(xiàng)目頁(yè)發(fā)送反饋配椭,建議和 bugfixes 而做出貢獻(xiàn)
6 虫溜、安裝準(zhǔn)備設(shè)置網(wǎng)絡(luò)代理
- 1)步驟--window -->>NetWork Conntions
- 2)打開(kāi)QQ IP代理找一個(gè)網(wǎng)速快的IP設(shè)置,
建議使用美國(guó)的.
7股缸、Nodejs下載與安裝
8 衡楞、Eclipse下的typescript插件
http://eclipse-update.palantir.com/eclipse-typescript/
注意:
1)不要勾選Enable typeScript Builder,勾選了這個(gè)它不會(huì)幫你生成js文件
2)勾選Disable typeScript Builder即可
typescript插件
-
在線安裝ts
在線安裝ts -
設(shè)置Nodejs
設(shè)置Nodejs -
typeScript編譯設(shè)置
typeScript編譯設(shè)置 -
ts文件
ts文件 -
啟用typeScript
啟用typeScript -
設(shè)置代理
設(shè)置代理
9敦姻、typescript官方
http://www.typescriptlang.org/(官方網(wǎng)址)
http://www.typescriptlang.org/Tutorial/(官方例子)
10瘾境、推薦學(xué)習(xí)博客
http://blog.oio.de/2013/08/05/typescript-plug-in-for-eclipse/(安裝博客)
http://freewind.me/blog/20130128/2034.html(學(xué)習(xí)博客)
11、TypeScript
class Greeter{
element:HTMLElement;
span:HTMLElement;
timerToken:number;
constructor(element:HTMLElement){
this.element=element;
this.element.innerText+="this time is: ";
this.span=document.createElement("span");
this.element.appendChild(this.span);
this.span.innerText=new Date().toUTCString();
}
//start
start(){
this.timerToken=setInterval(()=>
this.span.innerText=new Date().toUTCString(),500
);
}
//stop
stop(){
clearTimeout(this.timerToken);
}
}
window.onload= ()=>{
var el=document.getElementById("content");
var greeter=new Greeter(el);//create greeter object
greeter.start();
}
12镰惦、TypeScript語(yǔ)言官方
總結(jié)與感想
作者:jilongliang
原文:https://blog.csdn.net/jilongliang/article/details/21942911
版權(quán)聲明:本文為博主原創(chuàng)文章迷守,轉(zhuǎn)載請(qǐng)附上博文鏈接!
1陨献、博客所有文章是本人2014年撰寫,而GItHub的源代碼是有些是2014年與2015年進(jìn)行整理盒犹,由于在2013年項(xiàng)目接觸TypeScript,同時(shí)在當(dāng)年接觸KendoUI開(kāi)發(fā)的時(shí)候TypeScript的影子眨业,故一年后決定把官方文檔所有API文檔認(rèn)真琢磨了一遍急膀,并且撰寫成一本最全的中文TypeScript入門指南詳解案例教程與代碼
,當(dāng)初的下載量還是比較高的。由于最近接觸Kotlin龄捡,自從學(xué)習(xí)TypeScript卓嫂,它的語(yǔ)法對(duì)我后面學(xué)習(xí)Kotlin有了極大的幫助
,個(gè)人感覺(jué)聘殖,它的語(yǔ)法跟ActionScript晨雳,Swift寫法很像。故雖然好幾年沒(méi)怎么開(kāi)發(fā)前端奸腺,由于它的重要性特意重新花點(diǎn)進(jìn)行整理這門前端語(yǔ)言餐禁。
2、學(xué)習(xí)TypeScript的源碼例子
- TypeScript