javascript中的构造函数和API接口有何不同?

javascript中的构造函数和API接口有何不同?,javascript,api,dom,Javascript,Api,Dom,从中,我可以理解API接口和构造函数是两个截然不同的概念 在javascript中没有接口的概念,那么这些接口在javascript中是如何使用的呢 我的意思是,它们在我眼中看起来像构造函数typeof(Node)==“function'//true 但它们不是,我们不能用它们来构造元素 那么javascript是如何使用这些接口的呢?或者,当它的核心没有像java或C这样的接口概念时,它是如何实现这些接口的呢 它有一种行为,模仿构造函数someElement instanceof HTMLEl

从中,我可以理解API接口和构造函数是两个截然不同的概念

在javascript中没有接口的概念,那么这些接口在javascript中是如何使用的呢

我的意思是,它们在我眼中看起来像构造函数
typeof(Node)==“function'//true

但它们不是,我们不能用它们来构造元素

那么javascript是如何使用这些接口的呢?或者,当它的核心没有像java或C这样的接口概念时,它是如何实现这些接口的呢


它有一种行为,模仿构造函数
someElement instanceof HTMLElement//true
,它们有类似于构造函数的原型,您可以使用这些原型的方法对它们进行扩展,但它们不是构造函数,因为它们不能用于构造dom元素。

它可能是一个施工失败:

 function Node() {
   throw new TypeError("Illegal constructor");
 }

也许这是一个很好的方法,但是你能解释一下为什么当我们调用
HTMLElement
而不使用new时,它会抛出一个不是
TypeError的错误:非法构造函数
?它如何检测到它没有被用作构造函数?@noOne cause
new.target
未设置。