原文出处:javascript
http://www.typescriptlang.org/Handbookjava
基于对web开发的须要和对安神的崇拜,打算学习一下typescript。web
能力有限,基本属于在本身认识的基础上进行的翻译,错误不免,主要是经过翻译来学习。typescript
基本类型
在编程中咱们须要用到的一些简单的数据元素,好比:数值,字符串,结构体,布尔型,等等。
如你所愿,在javascript里面的那些数据类型,TypeScript都支持,
with a convenient enumeration type thrown in to help things along.(这句暂时没理解好)编程
布尔型(Boolean)
最基本的数据类型是简单的真或假,在javascript和TypeScript(以及其余语言)中定义为'boolean'。数组
var isDone: boolean = false;
数值型(Number)
和JavaScript同样,在TypeScript中全部的数值类型都是浮点类型。这些浮点类型值被定义为'number'。服务器
var height: number = 6;
字符串(String)
用javascript编写网页和服务器程序时,另外一个基本的部分就是针对文本数据的工做。
和其余语言同样,咱们用'string'来定义文本数据类型,和javascript同样,typescript也使用双引号(")
或者单引号(')把字符串数据括起来。函数
var name: string = "bob"; name = 'smith';
数组(Array)
typescript和javascript同样,容许你使用数组。数组类型能够用两种方法中的任何一种来定义。
第一种,你能够经过元素的类型接中括号[]来表示一个指定元素类型的数组:学习
var list:number[] = [1, 2, 3];
第二种,使用通用的数组类型,Array<元素类型>:spa
var list:Array<number> = [1, 2, 3];
注:我我的喜欢第二种。
枚举(Enum)
'enum'是对javascript中标准的集合类型的有用扩展。像其余语言,好比C#,枚举能够为集合类型的数值定义一个更加友好的名称。
enum Color {Red, Green, Blue}; var c: Color = Color.Green;
默认状况下,枚举的元素的序号是用0开始的。咱们能够手工设置元素的序号。例如,咱们能够用1代替开始元素的0:
enum Color {Red = 1, Green, Blue}; var c: Color = Color.Green;
或者,咱们也能够给每个元素手工设置序号:
enum Color {Red = 1, Green = 2, Blue = 4}; var c: Color = Color.Green;
咱们能够经过枚举元素的值来获取元素的名称,例如,若是咱们知道元素的值(注:序号)2,可是不肯定它和枚举里面的哪一个元素匹配,
咱们能够经过值查找它的名称:
enum Color {Red = 1, Green, Blue}; var colorName: string = Color[2]; alert(colorName);
变体(Any)
当咱们写程序时,可能须要定义一个还不知道具体类型的变量。这些值可能来自动态的内容,例如从用户或第三方库。
在这些状况下,咱们要选择退出类型检查,并让值经过编译时检查。这时,咱们经过'any'来标记:
var notSure: any = 4; notSure = "maybe a string instead"; notSure = false; // okay, definitely a boolean
any类型在现有的javascript中是一个强大有力的方法,容许您在编译过程当中逐步选择和退出类型检查。
注:在我看来是兼容javascript的弱类型。
any类型在你可能只是知道该类型的某一部份内容时,颇有用。例如,你可能定义一个数组,可是这个数组混合了不一样的类型:
var list:any[] = [1, true, "free"]; list[1] = 100;
注:相似Delphi的variant,或者TValue。
无类型(Void)
也许有时候,any类型并不能准确表示'无',即没有任何类型的类型,不能用某种类型类表示。
您一般能够将此视为不返回值的返回类型的函数:
function warnUser(): void { alert("This is my warning message"); }