首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于“新建”对象的TypeScript接口

问用于“新建”对象的TypeScript接口
EN

Stack Overflow用户
提问于 2012-11-16 03:29:12
回答 2查看 1.8K关注 0票数 3

首先,这个问题是在我尝试/尝试为自己的库构建接口的Three.js工作之后出现的。

不管怎样,假设我们有JS代码:

代码语言:javascript
复制
var foo = new THREE.Vector3(0,0,0);

在TypeScript中,您可以将这三个对象表示为:

代码语言:javascript
复制
interface IThreeJS {
    Vector3(x: number, y: number, z: number): any;
}

declare var THREE: IThreeJS;

但是,正如您所看到的,我们有从Vector3返回的':any‘。如果我创建一个新的接口并尝试执行“IVector3 THREE.Vector3(0,0,0):IVector3”,我们会得到一个“构造函数上有效的新表达式”。因此必须返回“any”

现在唯一的替代方法是让IThreeJS的Vector3对象返回'any‘并这样做:

代码语言:javascript
复制
var foo: IVector3 = new THREE.Vector3(0,0,0);

那么,有没有办法让我的IThreeJS接口的Vector3方法有一个构造函数并返回一个IVector3呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-16 03:53:01

您还可以声明类和模块:

代码语言:javascript
复制
declare module THREE {
    export class Vector3 {
        constructor(x: number, y: number, z: number);
    }
}
票数 6
EN

Stack Overflow用户

发布于 2018-06-09 05:23:24

代码语言:javascript
复制
export class Vector3 {

  x: number;
  y: number;
  z: number;


  constructor(x, y , z) {
    this.x = x;
    this.y = y;
    this.z = z;
  }

}

常量位置=新的Vector3(0,0,0);

祝好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13404726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档