TypeScript中存取器与函数使用

51 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情

存取器

我们可以有效的控制对 对象中的成员的访问,通过getters和setters来操作

classs Person {

firsetName: string

lastName; string

construct(firstName:string, lastName) {

//读取器 负责读取数据

get fullName () {

return this.firstName +"_"+ this.lastName

}

//设置器--负责设置数据的修改

set fullName (val) {

let names = val.split('_');

this.firstName = names[0];

this.lastName = names[1];

}

}

}

 

静态成员与静态方法

静态成员:在类中通过static修饰的属性或者方法,那么就是静态的属性及静态的方法,也称为静态成员

//静态成员在使用的时候是通过类名的语法调用的

class Person {

static name: string = 'zs'

//静态方法

static eat () {

console.log('eat');

}

}

 

//调用

Person.name

Person.eat()

 

抽象类 abstract

包含抽象方法(抽象方法, 一般没有任何的具体内容的实现),也可以包含实例方法,抽象类是不能被实例化,为了让类进行实例化及实现内部的抽象方法

abstract class Anima {

//抽象属性

abstract name: string

//抽象方法

abstract eat()

//实例方法

say() {}

}

//定义一个子类

class Dog extends Animal {

//重新实现抽象类中的方法,此时这个方法就是Dog的实例方法

eat() {}

}

 

函数

函数声明

function add(x: string, y:string): string {}

函数表达式

const add1 = function(x: string, y:string): number {}

函数的完整的写法

const add3: (x: number, y: number) => number = function (x: number, y: number): number {}

 

参数

//可选参数: 函数在声明时候,内部的参数使用了?进行修饰,那么就表示该参数可以传入也可以不传入

//默认参数: 函数在声明的时候,函数的参数 有自己的默认值

//剩余参数: 是放在函数声明的时候所有参数的最后 ..args: string

 

函数重载

函数的名字相同,函数的参数及个数不同

函数重载声明

function add(x: string, y: string): string

function add(x:number, y: number): number

函数类型

interface IsearchFunc {

//定义一个调用签名

{

source: string,

subString: string

}: boolean

}

const searchString: IsearchFunc = function (source: string, substring: string): boolean {

//在source字符串中查找substring这个字符串

return source.search(substring) >-1

}