O curso de Javascript avançado é bom, mas me incomodou um pouco que o professor fala como se encapsulamento fosse uma solução de segurança, inclusive na resposta do exercício 04-11 consta "Por conta disso, alguém mal intencionado pode fazer o que quiser com ela.". Isso está errado, encapsulamento é uma solução de engenharia de software, não de segurança, inclusive mesmo em linguagens que suportam private nativamente é possível violar esse acesso (no Java por reflection, no C++ por aritmética de ponteiros). Encapsulamento serve para deixar menos coisas acessíveis aos programadores para que não acessem uma variável interna e violem regras de negócio por engano (não por má-intenção). Vale lembrar que se estamos falando de javascript no front-end, a segurança deve estar na API.
Estou fazendo a sugestão aqui pelo forum, porque a feature de sugerir alteração no curso não permite alterar a resposta das perguntas. Mas reafirmo que é uma crítica construtiva =)
Obs: Em uns exercícios anteriores foi usado o operador % para evitar fazer um if(indice == 1) e fazer um arrow function de uma linha (sem a necessidade de usar a palavra chave return). Penso que um operador ternário teria o mesmo efeito e seria bem mais semântico.