1. Vamos criar uma associação usando o exemplo do MindMeister, onde os objetos da classe Person possuem um atributo address, que é um objeto da classe Address. Para isso, criamos primeiro a classe Address:

    class Address {
      constructor(street, number, neighborhood, city, state) {
        this.street = street
        this.number = number
        this.neighborhood = neighborhood
        this.city = city
        this.state = state
      }
    
      fullAddress() {
        return `Rua ${this.street}, nº ${this.number}. ${this.neighborhood}, ${this.city}/${this.state}`
      }
    }
    
    module.exports = Address
    
  2. Depois podemos criar a classe Person:

    class Person {
      constructor(name, address) {
        this.name = name
        this.address = address
      }
    }
    
    module.exports = Person
    
  3. E por fim podemos testar criando objetos dessas duas classes:

    const Address = require('./Address')
    const Person = require('./Person')
    
    const addr = new Address('7 de Setembro', 92, 'Centro', 'São Fidélis', 'RJ')
    const john = new Person('John Doe', addr)
    
    console.log(john)
    console.log(john.address.fullAddress())