Skip to content

Classes

(Original article)

  • Use constructors for object creation. Use private/read-only fields
  • Don’t use Object.assign, instead, use setters or constructors.
  • Don’t create new modules - it produces some issues with module references
  • All internal and external classes (such as DTOs, models, etc.) must have constructors
  • Order of props/methods should be:
    • public properties
    • protected properties
    • private properties
    • constructor
    • public methods
    • protected methods
    • private methods
  • All fields must be readonly in case they're immutable
    • Array fields can also have readonly type in case they're immutable, e.g.:

      readonly someArrayField: readonly Type[]
      
  • Internal classes shouldn't use vendor types