// ----------基础类型----------
let isTrue:Boolean=false
let age:number=10
let people:string='张三'
let list:Array<string>=['a','b']
let list2:number[]=[1,2,3]
// 元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同
let list3:[string,number]=['a',1]
// 枚举 enum类型是对JavaScript标准数据类型的一个补充,使用枚举类型可以为一组数值赋予友好的名字
enum sex{'man','feman'}
let boy:sex=sex.man
// console.log(boy) 0
// Unknown any 在编程阶段还不清楚类型的变量指定一个类型
let a:unknown
a=4
a='o'
// undefined和null两者各自有自己的类型分别叫做undefined和null
let u: undefined = undefined;
let n: null = null;
// 联合类型
let sum:number|string|boolean;
sum='a'
sum=1
sum=true
// -----------函数----------
// Void 当一个函数没有返回值时,你通常会见到其返回值类型是 void
function add(a:number,b:number):void{
console.log(a+b)
}
// 有返回值
function add2(a:number,b:number):number{
return a+b
}
let num=add2(1,2)
// 可选参数
function add3(a:number,b:number,c?:number):number{
return a+b+(c?c:0)
}
// 剩余参数
function add4(a:number,b:number,...arr:number[]){
let sum:number=a+b
if(arr){
for(let i of arr){
sum+=i
}
}
return sum
}
let b2=add4(1,2,3,4,5)
// -----------类-----------
class People{
private name:string;
private age:number;
constructor(name:string,age:number){
this.name=name
this.age=age
}
public getInfo():string{
return `名字:${this.name},年龄:${this.age}`
}
}
let people1=new People('张三',10)
console.log(people1.getInfo())
// 继承
class driver extends People{
private car:string;
constructor(name:string,age:number,car:string){
super(name,age)
this.car=car
}
public getDriver(){
return this.getInfo()+`车:${this.car}`
}
}