在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
我们来看看TypeScript中的基本数据类型都有哪些。 boolean布尔值,支持true和false。 var isDone: boolean = false; 默认为undefined,此时其和true与false判断都为false。 1 var isDone: boolean; 2 3 function run() { 4 alert(isDone == true);//false 5 alert(isDone == false);//false 6 } 7 8 run(); 所以在使用boolean类型时要记得赋初值,以便避免以后的麻烦。 number数字类型,如下: var height: number = 6;
首先,TypeScript中对于数字只有这么一种类型,没有byte、short、int、uint、long、float、double等类型,而TypeScript的number实际上是一个64为的双精度浮点数,可以看做其它语言中的double类型。 需要注意的是,当不进行初始赋值时,所有的基本数据类型都默认为undefined类型,下面不再重复讲解。 string字符串类型,如下: var name: string = "bob"; name = 'smith'; 字符串的使用与JavaScript一致。 any表示为任意类型,如下: var notSure: any = 4; notSure = "maybe a string instead"; notSure = false; 我们发现notSure可以设定为任意的类型。 我们也可以将其用在数组上,如下: var list:any[] = [1, true, "free"]; list[1] = 100; undefined和nullnull和undefined基本是同义的,只有一些细微的差别。 undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。 null表示"没有对象",即该处不应该有值。 参考:http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html void用在函数返回值,和C++、Java用法一致,表示没有返回值: function warnUser(): void { alert("This is my warning message"); } Array数组类型,可以有两种写法,如下: var list:number[] = [1, 2, 3]; var list:Array<number> = [1, 2, 3]; 二维数组var num: string[][] = [["asdf", "zxc"],["adsf"]];
其它使用方法和JavaScript中一致。 Object可以当做Hash表来使用,如下: 1 var obj: Object = {}; 2 3 function run() { 4 obj["a"] = 123; 5 //obj.b = "asdf";//这种写法是错误的 6 obj["b"] = "asdf"; 7 obj[100] = true; 8 9 delete obj["100"];//删除使用 delete 关键字 10 11 for (var key in obj) { 12 alert(key); 13 alert(obj[key]); 14 } 15 } 16 17 run(); 需要注意的是,该类型的键都是字符串类型,即所有当做键的对象都会调用toString()方法获得对应的字符串来作为键值保存对象。 Enum枚举类型,如下: enum Color {Red, Green, Blue}; var c: Color = Color.Green; 另一种格式: enum Color {Red, Green, Blue}; var c: Color = Color[1]; 同时还可以对每个枚举进行赋值,如下: enum Color {Red = 1, Green, Blue}; var c: Color = Color.Green; 这样,Green自动被赋值为2,Blue自动被赋值为3。 也可以全部进行赋值: enum Color {Red = 1, Green = 2, Blue = 4}; var c: Color = Color.Green; 我们还可以获得指定索引的枚举的名称: enum Color {Red = 1, Green, Blue}; var colorName: string = Color[2]; alert(colorName); 需要注意的是,这里的值可以看做数组的下标,如下: enum Color {Red = 100, Green, Blue}; var colorName: string = Color[101]; alert(colorName);//Green 数据转换强制转换将一个类型强制转换为另一个类型,如果转换失败编译时会报错,如下: var str: string = <string> num;//转换成功 var strNum: number = <number> str;//编译报错 TypeScript中没有as关键字进行转换,都是强制转换。 instanceofinstanceof可以用来判断一个对象是否为指定的类型,如果是则返回true,否则返回false,如下: if (obj instanceof String) { alert("obj is string!"); } typeof可以获取类型的字符串描述: 1 typeof 3 // "number" 2 typeof "abc" // "string" 3 typeof {} // "object" 4 typeof true // "boolean" 5 typeof undefined // "undefined" 6 typeof function(){} // "function" 可参考:http://tobyho.com/2011/01/28/checking-types-in-javascript/ |
请发表评论