1) Javascript suporta programação orientada a objetos de forma limitada, sem classes formais e permitindo adicionar propriedades dinamicamente.
2) Objetos são criados usando funções construtoras com o operador "new" e métodos são funções associadas a objetos usando "this".
3) A herança é implementada via prototipagem, onde objetos herdam propriedades de objetos prototypes referenciados pela propriedade "prototype".