TypeScript的数据类型总结

全局下载:npm i typescript -g

编译.ts文件:tsc  1.ts自动生成对应js文件

基本类型:

1.布尔,数字,字符串

ts文件

//布尔类型
var a:boolean=true;
//数字类型
var b:number=2;
var c:number=0x123;
var d:number=0o123;
//字符串
var e:string='hello world';
var m:string=`boolean分为:${a}和false`
console.log(m)

 编译后的js文件

//布尔类型
var a = true;
//数字类型
var b = 2;
var c = 0x123;
var d = 83;
//字符串
var e = 'hello world';
var m = "boolean\u5206\u4E3A\uFF1A" + a + "\u548Cfalse";
console.log(m);//布尔,数字,字符串

2.数组和元组

ts文件

//数组
//定义方式1
var a: number[]=[1,2,3,4];
//定义方式2
var b: Array<number>=[1,2,3,4];

//元组  可以在一个数组定义多种不同的值

let c: [number,string,boolean]=[1,'a',true];

编译后的js文件

//数组
//定义方式1
var a = [1, 2, 3, 4];
//定义方式2
var b = [1, 2, 3, 4];
//元组  可以在一个数组定义多种不同的值
var c = [1, 'a', true];

3.enum枚举 是一组可以命名数值的集合

类似于数组,大括号内为元素,可以通过元素访问下标,通过下标访问元素

默认的其实位置为0,可以自己设置

ts文件

//枚举类型
enum Color {Red, Green, Blue}
var a: Color =Color.Red;//访问Red下标
console.log(a);//0
var b=Color[0];//访问下表为0的元素
console.log(b);//Red

//自行设置起始位置
enum Person {name=1,age,job}
var c=Person.age;//2
console.log(c)//2
console.log(Person)
//{ '1': 'name', '2': 'age', '3': 'job', name: 1, age: 2, job: 3 }

 编译后的js文件

//枚举类型
var Color;
(function (Color) {
    Color[Color["Red"] = 0] = "Red";
    Color[Color["Green"] = 1] = "Green";
    Color[Color["Blue"] = 2] = "Blue";
})(Color || (Color = {}));
var a = Color.Red; //访问Red下标
console.log(a); //0
var b = Color[0]; //访问下表为0的元素
console.log(b); //Red
//自行设置起始位置
var Person;
(function (Person) {
    Person[Person["name"] = 1] = "name";
    Person[Person["age"] = 2] = "age";
    Person[Person["job"] = 3] = "job";
})(Person || (Person = {}));
var c = Person.age; //2
console.log(c); //2
console.log(Person);
//{ '1': 'name', '2': 'age', '3': 'job', name: 1, age: 2, job: 3 }

 4.any类型 数据类型不确定时候,可以用any类型来接受任意类型 

ts文件

//any
var a:any=1;
var b:any=true;
var c:any='hello world';

 编译后的js文件

//any
var a = 1;
var b = true;
var c = 'hello world';

 5.void没有类型,和java一样,多用于函数,表示没有返回值

 6.never类型表示从来不会有的类型,可用于代码出错返回值类型

ts文件

//never
var a='错误';
function f(a){
    throw new Error(a)
}
f(a);

 编译后的js文件

//never
var a = '错误';
function f(a) {
    throw new Error(a);
}
f(a);

 7.类型断言 主要用于告诉编译器 <>和as两种 用法一样

//断言
var a:string='hello world';
var b:number=(<string>a).length;
var c:number=(a as string).length;

 

posted @ 2017-12-15 20:11  爱编程的douyaer  阅读(512)  评论(0编辑  收藏  举报
Fork me on MaYun