gpt4 book ai didi

javascript - ES6 中类的引入如何改变对象创建?像 React 这样使用类的框架又如何呢?

转载 作者:行者123 更新时间:2023-12-03 06:54:35 24 4
gpt4 key购买 nike

请填补我的知识空白:

因此,从 ECMA5 开始,Object.create() 是创建对象的标准方法,因为传入的值是创建对象的原型(prototype)将指向的内容

VS

使用“new”构造函数,这将使创建的对象的原型(prototype)指向构造对象的原型(prototype)。还使用 new 运行函数中的构造函数代码。

现在有了 ECMA6,并且引入了类(我知道这只是语法糖),标准仍然是使用 Object.create() 吗?我假设类只是函数构造函数的语法糖,或者相当于使用“new”方法来创建对象。

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

最佳答案

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

我们在 React 中使用类来习惯这种语法,因为在接下来的几年里,这将完全支持 native 机制。

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

关于javascript - ES6 中类的引入如何改变对象创建?像 React 这样使用类的框架又如何呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37332750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com