对象声明方法
//object定义类型时可以是对象、方法、数组(非原始类型)
let obj:object = {
name:"a",
age:3
}
let fun:object = function (){
}
let arr:object = [1,2]
//前后结构必须一致,key、类型、元素个数不一致会报错
let someone:{x:string,y:number,z:boolean} = {
x:"yyyy",
y:11,
z:true
}
推荐使用 接口 interface 约束对象类型
/**
* 接口:约定对象的成员,类型约束
* 元素后可加分号;逗号,或不加
*/
interface obj{
name:string //元素后可加分号;逗号,或不加(;, )
age:number
sex?:string//可选
readonly summary:string//只读,初始化后不允许修改
}
//对象
let person:obj = {
name:"li",
age:222,
sex:"man",
summary:"afdferwt"
}
person.summary = "sfdskdgj";//报错,summary为只读属性,不允许修改
//方法:
function func(params:obj){
console.log(params.age)
}
/**
* 动态成员,不确定成员个数、内容;
*
*/
interface somebody{
[prop: string]:string //键为string,值为string
}
interface mathobk{
[prop: string]:number //键为string,值为number
}
let aaa:somebody = {};
aaa.name = "kkjj";
aaa.to = "jnjj";
aaa.nnn = "jjhh";
let bbb:mathobk = {};
bbb.first = 111;