// 自执行函数的作用是形成单独模块(块作用域), // 防止此文件的变量或方法与其他文件的属性或方法冲突 (function () { // 描述一个对象的类型 type myType = { name: string, age: number }; const obj: myType = { name: 'sss', age: 111, }; console.log('myType:', obj); // myType: {name: "sss", age: 111} // 接口用来定义一个类结构 // 用来定义一个类中应该包含哪些属性和方法 // 同时接口也可以当成类型声明去使用 // 接口可以声明相同的接口名称 // 只是接口会打散合并 interface myInterface { name: string; age: number; } interface myInterface { gender: string; } // 如果属性个数对应不上会报错 // 说明了接口是可以定义相同接口名称 // 并且接口会打散合并 const objs: myInterface = { name: 'sss', age: 111, gender: '男' }; console.log('myInterface:', objs); // myInterface: {name: "sss", age: 111, gender: "男"} // 接口可以在定义类的时候去限制类的结构 // 接口中的所有的属性都不能有实际的值 // 接口只定义对象的结构,而不考虑实际值 // 在接口中所有的方法都是抽象方法 interface myInter { name: string; sayHello(): void; } // 定义类时,可以使类去实现一个接口 // 实现接口就是使类满足接口的要求 class MyClass implements myInter { name: string; constructor(name: string) { this.name = name; } sayHello() { console.log('大家好~~'); // 大家好~~ console.log(this.name); // 半晨 } } let myclass = new MyClass('半晨'); myclass.sayHello(); })();
typescript中的接口、type、interface
关注
打赏