首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ES6中引入类如何改变对象的创建,使用类的React等框架又如何呢?

在ES6中引入类如何改变对象的创建,使用类的React等框架又如何呢?
EN

Stack Overflow用户
提问于 2016-05-20 03:49:22
回答 2查看 36关注 0票数 0

请填写我所掌握的以下知识空白:

因此,对于ECMA5,Object.create()是创建对象的标准方法,因为传入的值是所创建对象的原型所指向的值

VS

使用'new‘构造函数,它将使创建的对象的原型指向构造对象的原型。同样,使用new运行函数中的构造函数代码。

现在,随着ECMA6和类的引入(我知道这只是语法上的糖),标准仍然使用Object.create()吗?我假设类只是函数构造函数的语法糖,或者等同于使用'new‘方法创建对象。

如果是这样的话,如果Object.create更有效,为什么像React这样的框架还要使用类?

EN

回答 2

Stack Overflow用户

发布于 2016-05-20 03:55:37

ES6类不是语法糖,对于ES5来说,它们被转换为传统的基于原型的构造,但在原生ES6支持中,它的工作效率要高得多。

我们在React中使用类来适应这种语法,因为在接下来的几年中,这将是完全支持的本机机制。

对于对象创建本身,现在可以使用Object.createnew。还包括对象字面量。关闭对象工厂的方法现在是“干净代码推荐”的方法之一-更好地控制耦合、本地(“私有”)变量和方法的好处之一。

票数 1
EN

Stack Overflow用户

发布于 2016-05-20 04:47:34

正如您所说,classes只是构造函数的语法糖。他们根本不会改变现状。有时你会想要使用new,有时你会想要使用Object.create,它们只是做不同的事情:

还使用new运行函数中的构造函数代码

React需要这样,所以他们使用构造函数。

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

https://stackoverflow.com/questions/37332750

复制
相关文章

相似问题

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