TypeScript 接口

接口(interface)指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容

TypeScript 可以使用 interface 关键字声明接口

TypeScript 中,接口可以作为一个类型批注

现在,我们通过一个接口来扩展上一章节中的范例

首先,创建文件 interface.ts 并复制以下内容

interface Shape {
    name: string;
    width: number;
    height: number;
    color?: string;
}

function area(shape : Shape) {
    var area = shape.width * shape.height;
    return "I'm " + shape.name + " with area " + area + " cm squared";
}

document.write( area( {name: "rectangle", width: 30, height: 15}));
document.write( area( {name: "square", width: 30, height: 30, color: "blue"} ));
document.write( area( {width: 30, height: 15} ) );

其次修改 index.html 中的 type.tshello.tsinterface.js

最后编译以上代码 tsc interface.ts ,发生错误,信息如下

$ tsc interface.ts
interface.ts(15,23): error TS2345: Argument of type '{ width: number; height: number; }' is not assignable to parameter of type 'Shape'.
  Property 'name' is missing in type '{ width: number; height: number; }'.

这是因为下面的语句缺失 name 参数

document.write( area( {width: 30, height: 15} ) );

删除该语句,重新编译,就不会出错了

刷新我们的浏览器,显示如下

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.