TypeScript数据类型
TypeScript的原始数据类型
- String
- Number
- boolean
- null
- undefined
- enum
- symbol
// Number
var num:number=1; // 整数
num = 2.5; // 小数
num = 0xf00d; // 十六进制
num = 0b0101; // 二进制
num = 0o123; // 八进制
// Boolean
let bol: boolean = false;
bol = true;
// String
let str: string = 'Hello world';
let content: string = `${str} too`; // 使用表达式拼接字符串时,需要使用(`)符号将拼接内容包括起来
//undefined
var un:undefined=undefined;
//null
var nul:null=null;
无返回值类型
空值一般来说采用void表示,void可以表示变量,也可表示函数无返回值
var callBack=function(){
return 10;
}
上述代码片段写法,他可以是带返回值也可以无返回值,他不会报任何语法错误,如果说我们在后面加一个void
我们可以发现他是不规范的,void不能有返回值.
同时我们也不能对void类型进行分配
TypeScript 任意值
任意值(Any)用来表示允许赋值为任意类型,声明一个变量任意值之后,对他的任何操作,返回的内容类型都是任意值。
如果变量在声明创建的时候,未指定其类型,那么他会被识别为任意值类型.
var num1:any=1;
num1=true;
num1="str";
num1=null;
/**
* 如果没有赋值操作那么他会被识别为任意值类型,
* 他等价于var num2:any;
*/
var num2;
TypeScript类型推论
TypeScript会按照类型推论原则推论出我们的类型
/**
* 给变量赋值初始值的时候如果没有指定类型,那么他就会根据初始值倒推类型
* 那么说后续我们只能按照初始值类型进行赋值,当字符串2赋值给b的时候他是不允许的,因为类型不匹配
*/
var b=1
b="2";
如果定义的时候没有赋值,不管之后有没有赋值,都会被推断成any类型而且完全不会被类型检查.
/**
* 如果没有给b赋初始值就是any类型,他等价于var b:any;
*/
var b;
b="2";
b=true;