基本语法
任意属性
interface IPerson{
readonly id:number //只读属性readonly
name:string,
age:number,
sex?:string, //sex?可选属性?
[propName:string]:number | string //任意属性
}
let p:IPerson ={
id:1,
name:'123',
age:12,
sex:'1',
width:'123',//任意属性
height:123
}
只读属性,只能被只读,不能被修改
let getName = function(x:string='李',y?:string):string{
return x + y
}
// y?:string ?可有可无参数 可选参数必须放到参数最后
// console.log(getName('str')); //strundefined
// 设置默认参数 x:string='李'
// 默认参数是可以放在必选参数以及可选参数之后
console.log(getName()); //李undefined
函数类型
interface ISearchFunc{
// (参数:类型。。。):返回值的类型
(a:string,b:number):boolean
}
// 参数 返回值
const fun = function(a:string,b:number){
return true
}
函数声明、函数表达式
// 匿名函数
// add(参数1:类型,参数2:类型):函数返回值类型
let rs = function add(a:number,b:number):number{
return a+b
}
console.log(rs(1,2));
// 匿名函数表达式
// 完整写法
let rs1:(a:number,b:number)=>number = function add(a:number,b:number):number{
return a+b
}