当前位置:  开发笔记 > 编程语言 > 正文

除非与接口合并,否则在函数上使用new不起作用.为什么?

如何解决《除非与接口合并,否则在函数上使用new不起作用.为什么?》经验,为你挑选了0个好方法。

这是假设noImplicityAny设置为true.

鉴于这种:

function Bar() {
    this.f = 100;
}

这不起作用:

let x = new Bar();

你得到的错误是:

'new'表达式,其目标缺少构造签名,隐式具有"any"类型.

好吧,我想这有点道理.

但是,如果我在混音中添加一个界面,它可以正常工作:

interface Bar { 
     f: number;
}

function Bar() {
    this.f = 100;
}

let x = new Bar();
console.log(x.f);

当鼠标悬停在Bar您身上时,请将其视为以下类型:

interface Bar function Bar(): void

所以我知道正在进行一些合并.我现在还不清楚为什么这个有用呢?这个新的合并类型究竟是什么,为什么函数的返回类型Bar()不再暗示any

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有