TypeScript 声明变量定义类型
TypeScript
最大的一个特点就是变量是强类型的,也就是说,在声明变量的时候,我们必须给他一个类型。
TypeScript中的数据类型有:
- Undefined :
- Number:数值类型;
- string : 字符串类型;
- Boolean: 布尔类型;
- enum:枚举类型;
- any : 任意类型,一个牛X的类型;
- void:空类型;
- Array : 数组类型;
- Tuple : 元祖类型;
- Null :空类型。
Undefined类型
在js中当你定义了一个变量,但没有给他赋予任何值的时候,他就是Undefined类型。这可能和你以前学的语言稍有不同,其他语言会有个类型的默认值。
//声明数值类型的变量age,但不予赋值 var age:number console.log(age) // undefined
Number类型
在TypeScript中,所有的数字都是Number类型,这不分是整数还是小数。
var age:number = 18 var stature:number = 178.5 console.log(age) // 18 console.log(stature) // 178.5
string类型
由单引号或者双引号括起来的一串字符就是字符串。
var cnblogs:string = "cnblogs.com/DoubleLoong" console.log(cnblogs) // cnblogs.com/DoubleLoong
boolean布尔类型
作任何业务逻辑判断都要有布尔类型的参与,通过对与错的判断是最直观的逻辑处理。boolean类型只有两种值,true和false。
var b:boolean = true var c:boolean = false console.log(b) // true console.log(c) // false
enum 类型
这个世界有很多值是多个并且是固定的
,比如:
- 世界上人的类型:男人、女人、中性
- 一年的季节:春、夏、秋、冬 ,有四个结果。
// enum enum REN{ nan , nv ,zhongxing} console.log(REN.zhongxing) //返回了2,这是索引index,跟数组很像。 enum REN{nan='男人',nv='女人',zhongxing='人妖'} console.log(REN.zhongxing) // 人妖
any类型
一个写惯了前端的人,有时候不自觉的就分不清类型了。这是个不好的习惯,也是前端的痛,就因为这个原因,JavaScript也多次被人诟病说大型项目不适合用JavaScript。但是习惯一旦养成,改是需要时间和磨练的。TypeScript友好的为我们提供了一种特殊的类型any
,比如我们在程序中不断变化着类型,又不想让程序报错,这时候就可以使用any了。
var t:any =10 t = "白夜" console.log(t) // 白夜 t = true console.log(t) // true
Null类型
与 Undefined 类似,都代表空。Null 代表是引用类型为空。意义不大,但是有用。
在TypeScrip中有几种特殊的Number类型 我们需要额外注意一下:
- NaN:它是Not a Number 的简写,意思就是不是一个数值。如果一个计算结果或者函数的返回值本应该是数值,但是由于种种原因,他不是数字。出现这种状况不会报错,而是把它的结果看成了NaN。
- Infinity :正无穷大。
- -Infinity:负无穷大。
原文地址:http://jspang.com/post/typescript.html?tdsourcetag=s_pcqq_aiomsg
纯做笔记,如伤过客……真的对不起la