Typescript: class vs. interface
&gt; I know it can be confusing for people coming from an OOP language, but in Javascript an object IS NOT an instance of a class. I’ve worked with C++ for about ten years, so I understand it feels right when doing<p>&gt; let mine = new MyClass();<p>&gt; you get an ‘object’. But when thinking that you forget that Javascript is not a ‘class based’ language, it uses a prototypal approach.<p>I really wish he were more specific about this. When in Javascript we write:<p><pre><code>  function Foo() {
    this.x = &#x27;something&#x27;;
  }

  foo = new Foo();

  foo instanceof Foo; &#x2F;&#x2F; true

  foo.constructor === Foo; &#x2F;&#x2F; true
</code></pre>
the language tells us that the object `foo` is indeed an &quot;instance&quot; created by the constructor function `Foo`. What is the essential difference between this and what we have in object-oriented languages? What are the practical implications of Javascript being &quot;not a ‘class based’ language&quot; that &quot;uses a prototypal approach&quot;?