TypeScript 接口是什么

TypeScript 接口是什么

TypeScript是一个开源的编程语言,它是JavaScript语言的超集。TypeScript专为大型应用程序开发而设计,并由微软开发和维护。TypeScript在语法上遵循JavaScript,并添加了更多功能。它是JavaScript的超集。

接口: 一般来说,接口是对象的结构或骨架。接口是一种编程语法,它强制类上的语法。它定义了对象必须具有的数据类型。接口是对象的类型。

TypeScript中的接口是对象的类型。在TypeScript中,可以使用interface关键字来定义接口。JavaScript使用接口进行类型检查。接口也被称为结构子类型。

语法:

interface InterfaceName{
    PropertyName: Type;
    methodName() => Type;
} 

示例:

JavaScript

// Interface for Array
interface ForList {
    [index:number]: string
}
let newArray: ForList = ["Interface", "for", "Array"];
console.log(newArray);

输出:

[ 'Interface', 'for', 'Array' ]

在上面的接口Geek中,我们有两个属性得分和文章,这意味着当我们使用接口来创建对象时,它必须包含这两个属性。TypeScript提供了许多接口的属性。让我们看一下接口的一些属性。

扩展属性: TypeScript接口提供了接口的扩展属性,可以重新编写已存在接口的新属性。

interface For_Array {
    var1:  string;
}
interface For_List extends For_Array {
    var2: string;
}

在这里为列表接口包含var2属性,并扩展For_Array属性的var1属性。

只读属性: 这是接口的安全属性,使接口无法更改。我们可以通过在属性前加上readonly来将任何属性设置为只读。

interface For_class{
    readonly name: string;
    id: number;                          
}

在这里,我们将name标记为只读,因此在为name赋值后,我们无法更改它的值。

可选属性: 该属性使接口更有用,因为如果我们不确定是否应该在任何对象的结构中添加一个属性,我们可以将该属性设置为可选的,这样它就不仅仅是在结构中。我们可以使用符号?将其设置为可选。

interface For_function {
    (key: string, value ?: string) : void ;
}

在此接口中,value属性是可选的,因此当我们使用此接口创建函数时,可能包含值参数,也可能不包含。

示例: 接口通常用于大数据类型和函数。让我们在下面的代码中看看不同类型的接口。

JavaScript

// Interface for Function
interface ForFunc {
    (key:string,value?:string):void;
}
 
function Pri(key:string):void{
    console.log(key+" for "+value)
}
let newFunc: ForFunc = Pri;
newFunc("Interface","Function")
 
// Interface for Class
// Interface for Class
interface ForClass {
    readonly var1:string;               
}
interface ForList extends ForClass{
    var2:string;
    var3:string; 
}
let newclass: ForList = {
    var1: "Interface", 
    var2: "for", 
    var3: "Array"
};
 
console.log(newclass);

编译TypeScript代码的方法是在命令行上运行以下命令。

tsc Interface_Example.ts

这个命令将生成一个名为Interface_Example.js的JavaScript文件

在命令行上使用以下命令运行JavaScript文件。

node Interface_Example.js

输出:

Interface for Function
{ var1: 'Interface', var2: 'for', var3: 'Array' }

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程