'Is there a way to create private fields with function constructors in JavaScript? [duplicate]

In JavaScript, we have the concept of classes which is "syntactic sugar" for functions. My idea is that everything we can do with classes, we can also do with function constructors. Is this true? And if this is true, is there a way to create private fields with a function constructor?

For classes, private fields are declared using the hash symbol (#).



Solution 1:[1]

Classes aren't just syntactical sugar anymore because of 3 reasons:

  • They have private fields
  • All classes have a special property [[isClassConstructor]]
  • You can use instanceof with classes but not with function constructors

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Vladyslav Yukhanov