function add(a:number, b:number){
return a+b
}
console.log(add(10, 30))
// 声明字符串、布尔值、数字
let a: number = 1
let b: string = '2'
let c: boolean = true
// 声明数组
let d: number[] = [1,2,3]
console.log(d[0])
let e:Array<number> = [1,2,3,4]
console.log(e[0])
let f: string[] = ["1","2","3"]
console.log(f[0])
let g: Array<string> = ["1","2","3"]
console.log(g[0])
// 声明元组 混合类型数组
let h:[number, string, boolean] = [1, "姜鹏飞", true]
console.log(h)
// 箭头函数
const aa = (a:number, b:number) => {
return a+b
}
console.log(aa(10, 20))
// 返回值类型声明
function bb(a:number, b:number):number{
return a+b
}
console.log(bb(1, 3))
// 不返回值声明
function cc(a:number, b:number):void{
console.log(a+b)
}
cc(1, 2)
// 可选参数
function dd(a:number, b:number, ...nums:number[]):number{
return a+b
}
console.log(dd(10 ,30, 40, 50))
function ee(a:number, b?:number):number{
if(b){
return a+ b
}else{
return a
}
}
console.log(ee(100))
let aaa:any
aaa = 1000
aaa = "jiangpengfei"
aaa = true
console.log(aaa)
const bbb = (value:any) =>{
if(typeof value == 'number'){
return `数字类型${value}`
}else if(typeof value == 'string'){
return `字符串类型${value}`
}else{
console.log("都不是")
}
}
console.log(bbb(1))
console.log(bbb("1"))
// 联合数据类型 UnionType
const ccc = (value:string | number | null | undefined ) =>{
if(typeof value == 'number'){
return `数字类型${value}`
}else if(typeof value == 'string'){
return `字符串类型${value}`
}else{
console.log("都不是")
}
}
console.log(bbb(1))
console.log(bbb("1"))
class person{
age:number;
name:string;
say(){
console.log("继承成功")
}
fsay(){
console.log("调用父级")
}
}
let p = new person
p.age = 18
console.log(p.age)
// 继承的概念
class student extends person{
say(){
console.log("儿子的方法")
}
ssay(){
super.say() //super调用父级的
}
}
let sp = new student
sp.say()
sp.ssay()
let s:person = new student
s.say()
// static 脱离实例化,执行运行