开启掘金成长之旅!这是我参与「掘金日新计划 · 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
}