首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类的Javascript语法糖

类的Javascript语法糖
EN

Stack Overflow用户
提问于 2020-06-10 16:09:00
回答 1查看 245关注 0票数 0

正如在关于javascript的每一篇关于OOP的教程中所说的,“类只是在ES6中引入的语法糖,实际上是类--它只是函数”,但是没有人展示它是如何变成函数的,因此我有一个问题:下面代码中的示例类将如何处理它变成函数,以及它的属性和函数以后将在哪里分配和访问?

代码语言:javascript
复制
class Example {
   constructor(a, b) {
      this.a = a;
      this.b = b;
   }

   changeA() {
      this.a = 5;
   }

   changeB(b) {
      this.b = b;
   }
} 

// Suggested allocating instance here, but what allocates and how it looks "behind the scenes"?
let ex = new Example(1, 2);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-10 16:15:33

类语法允许您快速创建原型的实例。在您的示例中,Example是一个原型,而ex是该原型的一个实例。虽然12特定于Exampleex实例,但changeAchangeB方法属于ex的原型,即Example。如果您console.log(ex),您将不会看到changeAchangeB,您只会看到a: 5, b: 2。但是您还会看到一个__proto__属性。单击控制台中的打开按钮,您将在那里看到您的方法。因此,Example的任何实例都将具有这些方法。

我建议在javascript中学习更多关于原型和继承的知识。首先了解和理解这些内容,然后再理解为什么class是语法糖就更容易了。

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

https://stackoverflow.com/questions/62308111

复制
相关文章

相似问题

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