Olá, Denis!
Na função que você compartilhou, a linha "colaborador.favorito = !colaborador.favorito" está invertendo o valor da propriedade "favorito" do objeto "colaborador".
O sinal de "=" é o operador de atribuição, que é usado para atribuir um valor a uma variável. Nesse caso, ele está sendo usado para atribuir o valor contrário ao valor atual da propriedade "favorito".
Quando a função "resolverFavorito" é chamada com um determinado "id", ela percorre a lista de colaboradores e verifica se o "id" do colaborador atual é igual ao "id" passado como parâmetro. Se for igual, o valor da propriedade "favorito" do colaborador é invertido.
Essa técnica é muito comum em linguagens de programação e é conhecida como "toggle". Ela permite alternar o valor de uma variável booleana entre verdadeiro e falso.
Quanto à sua pergunta sobre a sintaxe do "if", você está correto. A sintaxe do "if" é geralmente "if(condicao) {entao}". No entanto, nesse caso, a atribuição do valor contrário à propriedade "favorito" está sendo feita dentro do bloco do "if". Isso é possível porque a atribuição de valor também é uma expressão em JavaScript e pode ser usada em qualquer lugar onde uma expressão é esperada.
Espero ter esclarecido sua dúvida! Se tiver mais alguma pergunta, é só me dizer.
Espero ter ajudado e bons estudos!