什么时候为Javascript中的类分配内存?

问题描述 投票:0回答:4

在 Javascript 中,内存分配是在值最初声明为变量或函数时完成的。我想知道在声明类(通过类声明或类表达式)时是否也分配了内存,还是仅在创建类实例时才分配内存?

javascript v8
4个回答
2
投票

类(不仅是实例,还有

class
本身)都是对象。对象(键值对的集合,其中的类会有一些)需要内存。因此,添加一个没有在任何地方实例化的
class
理论上会增加内存使用量。

就是说,基本上在所有情况下,它都会低到完全无法察觉。有更好的事情要担心。

从类创建一个新实例将创建另一个对象,其内部原型指向类原型对象,导致(非常小的)更多内存使用。


1
投票

你是对的。 当定义(新)关键字时,为类分配内存。分配的内存量可能与创建类实例时不同。


0
投票

当一个类被声明时,它定义了创建该类对象的蓝图,但它不为这些对象分配任何内存。只有在创建类的实例时才会分配内存,此时内存用于存储实例的属性和方法。


0
投票

创建实例时分配内存。在创建实例之前分配比类声明本身所需的内存更多的内存是没有意义的,因为引擎无法提前知道您是要创建一个类的一个实例还是一百万个实例。

© www.soinside.com 2019 - 2024. All rights reserved.