首页 > 其他分享 >TS — 接口

TS — 接口

时间:2024-04-18 19:46:06浏览次数:20  
标签:string counter TS 接口 number Date interface

TS接口通常指的是TypeScript接口,它是TypeScript中用来描述对象的形状的一种方式。接口可以定义对象的结构,包括属性、方法和方法的参数类型以及返回值类型。

1.定义接口:

interface Person {
    name: string;
    age: number;
    greet(): void;
}

2.使用接口:

function greetPerson(person: Person) {
    console.log(`Hello, ${person.name}!`);
}

3.可选属性:

interface Car {
    make: string;
    model: string;
    year?: number; // 可选属性
}

4.只读属性:

interface Point {
    readonly x: number;
    readonly y: number;
}

5.函数类型:

typescript
interface SearchFunc {
    (source: string, subString: string): boolean;
}

6.可索引类型:

interface StringArray {
    [index: number]: string;
}

7.类 类型:

interface ClockInterface {
    currentTime: Date;
    setTime(d: Date): void;
}

class Clock implements ClockInterface {
    currentTime: Date = new Date();
    setTime(d: Date) {
        this.currentTime = d;
    }
}

8.扩展接口:

interface Shape {
    color: string;
}

interface Square extends Shape {
    sideLength: number;
}

9.混合类型:

interface Counter {
    (start: number): string;
    interval: number;
    reset(): void;
}

function getCounter(): Counter {
    let counter = function(start: number) {} as Counter;
    counter.interval = 123;
    counter.reset = function() {};
    return counter;
}

 

标签:string,counter,TS,接口,number,Date,interface
From: https://www.cnblogs.com/qinlinkun/p/18144256

相关文章

  • 酷狗音乐KRC歌词接口api
    解析酷狗官方KRC歌词接口APIKRC可用API接口kugou已经解决:搜索歌曲:http://ioscdn.kugou.com/api/v3/search/song?keyword=关键字&page=1&pagesize=40&showtype=10&plat=2&version=7910&tag=1&correct=1&privilege=1&sver=5搜索歌词krc:http://krcs.kugou.com/......
  • ts中的dom元素和event事件类型声明
    1,HTMLElement和Element<divid="divClick"></div>constdocu=document.getElementById('divClick');constdocu1=document.querySelector('#divClick');把鼠标分别放在docu和docu1上:HTMLElementHTMLElement......
  • Pyecharts制作动态GDP柱状图
    学习使用pyecharts制作动态柱状图使用csv模块进行csv数据文件处理importcsvfrompyecharts.chartsimportBar,Timelinefrompyecharts.optionsimport*frompyecharts.globalsimportThemeTypedefdealCSVFile():"""读取处理csv数据文件:retu......
  • TSINGSEE青犀算法中台消防通道堵塞/占压AI检测算法的介绍及应用
    消防通道是建筑物内用于紧急疏散的通道,其畅通无阻对于保障人员生命安全至关重要。然而,由于各种原因,消防通道经常会被杂物、车辆等堵塞,一旦发生火灾等紧急情况,后果不堪设想。为了有效解决这一问题,我们提出了一种基于人工智能技术的消防通道堵塞占用检测算法。该算法利用深度学习技......
  • Alibaba Cloud Linux 3.2104 LTS 安装php-5.6.12
    1把php安装包上传到服务器2安装php所需要的扩展yum-yinstalllibxml2libxml2-developensslopenssl-develbzip2bzip2-develcurlcurl-devellibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibmcryptlibmcrypt-develgdgd-devel3安装......
  • pandas读取sql文件出现:告警UserWarning: pandas only supports SQLAlchemy connectabl
    ​错误原因:导入sql的方式更新了解决方法:importpandasaspdfromsqlalchemyimportcreate_engineMYSQL_HOST='localhost'MYSQL_PORT='3306'MYSQL_USER='root'MYSQL_PASSWORD='123456'MYSQL_DB='cldk_data'engine=......
  • 网卡绑定(bond)之子接口
    服务器两张网卡需要做bond,并且bond后网卡需配置不同网段的地址,用于走不同流量,这个时候就可以采用起子接口的方式。#第一步:停掉NetworkManager服务systemctlstopNetworkManager.servicesystemctldisableNetworkManager.service#第二步:备份cp/etc/sysconfig/networ......
  • Alibaba Cloud Linux 3.2104 LTS 安装mysql5.7.39
    1上传mysql安装包到linux服务器tar-zxvfmysql-5.7.39-linux-glibc2.12-x86_64.tar.gzmvmysql-5.7.39-linux-glibc2.12-x86_64mysql5.72创建mysql用户groupaddmysqluseradd-gmysql-s/sbin/nologinmysqlchown-Rmysql:mysqlmysql5.7 ......
  • JTCR-包和接口-07
    包包用于划分类的命名空间,使得不同包中的同名类不会冲突。Java使用文件夹存储包,文件夹名和包名一致。Java运行时系统从当前目录中、CLASSPATH变量定义的值、-classpath指定的值这三种途径寻找包。包和成员访问可访问性private无修饰符protectedpublic同一个......
  • Go 单元测试之mock接口测试
    目录一、gomock工具介绍二、安装三、使用3.1指定三个参数3.2使用命令为接口生成mock实现3.3使用make命令封装处理mock四、接口单元测试步骤三、小黄书Service层单元测试四、flags五、打桩(stub)参数六、总结6.1测试用例定义6.2设计测试用例6.3执行测试用例代码6.4运行测......