原生类型之间的比较 JavaScript, Class 是否与 {} 相同?
Comparison between native types JavaScript, Class is same than {}?
我正在写一些关于 Javascript 中 Class
和 Object
之间的比较的测试。我对JS中Class
的真实objective有些怀疑。
如果所有内容都是 object
(基本类型除外),则说明:
class Foo {
static anyFunc () {}
}
const FooInstance = new Foo();
等于
const FooInstance = {
anyFunc () {}
}
?
如何衡量这些实施的 performance/memory allocated/sizeof?可以在 C++ 或 JS 中。
非常感谢!
const FooInstance = {
anyFunc () {}
}
FooInstance
在这种情况下直接是 Object
的一个实例。如果你看它的原型链,它马上就是 Object
。 anyFunc
方法将在实例本身上找到。
class Foo {
static anyFunc () {}
}
const FooInstance = new Foo();
FooInstance
在这种情况下是 Foo
的一个实例(并且 Object
也是因为所有对象都从它继承)。如果你看它的原型链,它会先有 Foo
的原型,然后是 Object
的原型。此外, anyFunc
不是实例(也不是原型)上的方法。它将附加到构造函数本身(即 Foo.anyFunc()
或 FooInstance.constructor.anyFunc()
,但不是 FooInstance.anyFunc()
)。
简而言之,没有。他们不相等。
在视觉上,链看起来像:
// First case:
instance ---> Object.prototype
- anyFunc
// Second case:
instance -> Foo.prototype -------> Object.prototype
- constructor (Foo)
- anyFunc
How I can measure the performance/memory allocated/sizeof of these implementations?
可以忽略不计。别担心。或者只有当它成为问题时才担心它。
我正在写一些关于 Javascript 中 Class
和 Object
之间的比较的测试。我对JS中Class
的真实objective有些怀疑。
如果所有内容都是 object
(基本类型除外),则说明:
class Foo {
static anyFunc () {}
}
const FooInstance = new Foo();
等于
const FooInstance = {
anyFunc () {}
}
?
如何衡量这些实施的 performance/memory allocated/sizeof?可以在 C++ 或 JS 中。
非常感谢!
const FooInstance = {
anyFunc () {}
}
FooInstance
在这种情况下直接是 Object
的一个实例。如果你看它的原型链,它马上就是 Object
。 anyFunc
方法将在实例本身上找到。
class Foo {
static anyFunc () {}
}
const FooInstance = new Foo();
FooInstance
在这种情况下是 Foo
的一个实例(并且 Object
也是因为所有对象都从它继承)。如果你看它的原型链,它会先有 Foo
的原型,然后是 Object
的原型。此外, anyFunc
不是实例(也不是原型)上的方法。它将附加到构造函数本身(即 Foo.anyFunc()
或 FooInstance.constructor.anyFunc()
,但不是 FooInstance.anyFunc()
)。
简而言之,没有。他们不相等。
在视觉上,链看起来像:
// First case:
instance ---> Object.prototype
- anyFunc
// Second case:
instance -> Foo.prototype -------> Object.prototype
- constructor (Foo)
- anyFunc
How I can measure the performance/memory allocated/sizeof of these implementations?
可以忽略不计。别担心。或者只有当它成为问题时才担心它。