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' }
极客教程