Properties can be configured in a variety of ways:

    • Properties can have default values
    • Dynamically computed properties (getters) are defined as functions with the get keyword
    • Static properties use the static keyword and private properties are prefixed with #

    Legacy private properties

    Prior to # private property support, properties were made "private" by convention: private properties and methods were prefixed with _.