这是我参与8月更文挑战的第25天,活动详情查看:8月更文挑战
TypeScript Map 对象
Map 对象保存键值对,并且能够记住键的原始插入顺序,任何值(对象或者原始值) 都可以作为一个键或一个值。
Map以new 关键字来创建 Map,也可以以数组的格式来传入键值对:
let myMap1 = new Map();
let myMap2 = new Map([
["key1", "value1"],
["key2", "value2"]
]);
复制代码
Map 相关的函数与属性:
- map.clear() – 移除 Map 对象的所有键/值对 。
- map.set() – 设置键值对,返回该 Map 对象。
- map.get() – 返回键对应的值,如果不存在,则返回 undefined。
- map.has() – 返回一个布尔值,用于判断 Map 中是否包含键对应的值。
- map.delete() – 删除 Map 中的元素,删除成功返回 true,失败返回 false。
- map.size – 返回 Map 对象键/值对的数量。
- map.keys() – 返回一个 Iterator 对象, 包含了 Map 对象中每个元素的键。
- map.values() – 返回一个新的Iterator对象,包含了Map对象中每个元素的值。
TypeScript 接口
接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。
interface IPerson {
firstName:string,
lastName:string,
sayHi: ()=>string
}
var customer:IPerson = {
firstName:"Tom",
lastName:"Hanks",
sayHi: ():string =>{return "Hi there"}
}
console.log("Customer 对象 ")
console.log(customer.firstName)
console.log(customer.lastName)
console.log(customer.sayHi())
复制代码
TypeScript 类
类可以包含字段
,构造函数
,方法
这三个模块:
class Car {
// 字段
engine: string;
// 构造函数
constructor(engine: string) {
this.engine = engine
}
// 方法
disp(): void {
console.log("发动机为 : " + this.engine)
}
}
复制代码
类实例化时会调用构造函数:
var obj = new Car("car1")
复制代码
extends关键字
extends用于接口的继承和类的继承。
接口继承
接口继承就是说接口可以通过其他接口来扩展自己,Typescript 允许接口继承多个接口。
单接口继承语法格式:
Child_interface_name extends super_interface_name
复制代码
多接口继承语法格式:
Child_interface_name extends super_interface1_name, super_interface2_name,…,super_interfaceN_name
复制代码
类的继承
类的继承就是我们可以在创建类的时候继承一个已存在的类,这个已存在的类称为父类,继承它的类称为子类,子类除了不能继承父类的私有成员(方法和属性)和构造函数,其他的都可以继承。
TypeScript 一次只能继承一个类,不支持继承多个类,但 TypeScript 支持多重继承(A 继承 B,B 继承 C)。
语法格式如下:
class child_class_name extends parent_class_name
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END