了解使用TypeScript(二)

这是我参与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
喜欢就支持一下吧
点赞0 分享