全局下载: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);//
var b=Color[0];//访问下表为0的元素
console.log(b);//Red //自行设置起始位置
enum Person {name=1,age,job}
var c=Person.age;//
console.log(c)//
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); //
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; //
console.log(c); //
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;