Comparação lado a lado de ReferenceError e SyntaxError — entenda as diferenças, causas e soluções.
ReferenceErrorFoi feita uma referência a uma variável que não existe no escopo atual.
Você tentou usar uma variável que não foi declarada, não está no escopo ou foi acessada antes da sua declaração (zona morta temporal). Isso também pode ocorrer com nomes de variáveis escritos incorretamente.
Declare a variável antes de usá-la com let, const ou var. Verifique erros de digitação nos nomes das variáveis. Certifique-se de que a variável está no escopo onde você a está acessando. Importe os módulos ausentes.
SyntaxErrorO motor JavaScript encontrou código que não está em conformidade com a sintaxe da linguagem.
O código contém sintaxe inválida que o parser JavaScript não consegue entender. Isso inclui colchetes ausentes, parênteses sem correspondência, caracteres inválidos, ou uso de recursos da linguagem não suportados pelo runtime.
Verifique a mensagem de erro para obter o número da linha e coluna. Procure colchetes, parênteses, aspas ou ponto-e-vírgulas ausentes ou extras. Use um linter como o ESLint para detectar erros de sintaxe antes da execução.