目录
内容介绍
为了让程序有价值,我们需要能够处理最简单的数据单元:数字,字符串,结构体,布尔值等。 TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。
一、基础类型
1、布尔值boolean
true/false
let bol: boolean = false;
2、数字number
所有数字均为浮点数,支持十进制、十六进制、二进制和八进制
let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;
3、字符串string
可使用单引号和双引号包裹
let str: string = "Hello World"
可使用反引号进行模板字符串拼接
let num1:string="1";
let num2:number=2;
let concatStr: string ="this is "+ num1 + num2;
let concatStr1: string =`this is ${num1+ num2} `;
console.log(concatStr,concatStr1);
4、数组Array
数据类型加[]
let arr1: number[] = [1, 2, 3];
数组泛型(Array<数据类型>)
let arr2: Array<number> = [1, 2, 3];
5、元组Tuple
已知数量和类型,类型可以不相同
let tuple: [number, string] = [1, "2"];
可访问已知索引的元素
console.log(tuple[1])
6、枚举enum
默认从0开始编号
enum Color { green, red, yellow};
let color1: Color = Color.green; // 0
let color2: string = Color[2]; // "yellow"
console.log(color1,color2);
可手动赋值
enum Color {Red = 1, Green=2, Blue=4}
let color1:string=Color[1];
console.log(color1);//Red
通过值查找相应名称
enum Color {Red = 1, Green=2, Blue=4}
let colorName: string = Color[2];
console.log(colorName); // Green
7、Any
可以是任意类型
let anyArr: any[] = [1, "2", {}];
let anyVal: any = "223";
8、Void
没有任何类型,函数没有返回值时,返回值类型为Void,声明变量只能赋值undefined和null
function voidFun(): void{
console.log("no function return");
}
let unable: void = undefined;
9、Null和Undefined
是所有类型的子类型,但是在--strictNullChecks标记后,只能赋值给void和它们自己
let unable1: undefined = undefined;
10、true
用不存在的值的类型,是所有类型的子类型,但是除自己之外没有子类型也不能被赋值,any也不可以赋值给never
返回never的函数必须存在无法到达的终点
function infiniteLoop(): never{
while(true){}
}
11、Object
表示非原始类型,也就是除number,string,boolean,symbol,null或undefined之外的类型
declare function create(o: object | null): void;
create({ prop: 0 }); // OK
create(null); // OK
12、类型断言
假设已经进行了数据检查
let someVal: any = "hello";
尖括号语法
let someVal: any = "hello";
let strLength: number = (<string>someVal).length;
as语法
let someVal: any = "hello";
let strLength1: number = (someVal as string).length;
13、关于let
建议尽可能的用let代替var
标签:TypeScript,JavaScript,基础类型,let
更多演示案例,查看 案例演示
欢迎评论留言!