Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Não apareceu "Uncaught SyntaxError: Unexpected string" aqui no meu.

Galera meu console quando faço o exercício 10 aponta erro de Uncaught SyntaxError: Unexpected token ) ao invés da string. E quando tiro o parênteses do pulaLinha(); aí simplesmente não acontece erro nenhum, só não mostra função alguma, pq creio que nem chega a chamar.

Não sei se a resposta ficou incompleta ou eu que estou interpretando errado, gostaria de um esclarecimento se alguém puder me informar =).

5 respostas

No meu tbm deu unexpected token

acredito que nao vai fazer muita diferença token ou string, pois só de apontar a linha onde ocorreu o erro ajuda em quase 100% das vezes

solução!

Vamos analisar o primeiro caso, ao remover o function:

<script>
var pulaLinha = () {
 document.write("<br>");
}
</script>
Uncaught SyntaxError: Unexpected token )

interpretando até o '=' estava tudo ok, pois seguia uma declaração de váriavel convencional, a abertura do parênteses ele interpreta ok também, pois vc pode estar declarando uma expressão, mas como você fecha o parênteses logo em seguida, ou seja, o conteúdo entre os parenteses fica vazio, ele acusa o erro no primeiro token encontrado que gerou a confusão, nesse caso, o ')'

No segundo caso, você se confundiu a respeito do que o enunciado pedia. Ele queria que você tirasse o parênteses na declaração da função e não na utilização dela posteriormente. Ainda assim analisaremos os dois casos para esclarecimento:

No seu caso, removendo os parênteses na utilização, ou seja, após a declaração, lá no meio do programa:

var pulaLinha = function() {
  document.write("<br>");
}
pulaLinha; // sem os parenteses

Aqui não aparecerá mesmo nada no console pois não ocorre erro algum. Simplesmente você está chamando uma referência da função e fazendo nada com ela. Para exemplificar melhor, você poderia declarar uma outra variável que recebe essa referência e chamar a mesma função apenas com nome diferente:

<script>
var pulaLinha = function() {
 document.write("<br>");
}

var outroPulaLinha = pulaLinha;

document.write("linha1");
pulaLinha();
document.write("pulei uma linha com o pulaLinha convencional");
outroPulaLinha();
document.write("pulei uma outra linha com uma variável diferente!");
</script>

Agora se fizermos como o exercício pedia, removendo os parênteses na declaração da função:

<script>
var pulaLinha = function {
 document.write("<br>");
}
</script>
Uncaught SyntaxError: Unexpected token {

Ele dá esse erro pois ele espera algo envolvido entre parênteses após a declaração da palavra reservada 'function' e como o que ele encontra é o '{' ele reclama.

Espero ter ajudado, e caso a dúvida tenha sido sanada, selecione a resposta que melhor lhe ajudou e marque a discussão como resolvida a fim de evitar postagens a mais desnecessárias.

Obrigado!

Agora entendi, mas nesse caso não aparece string em lugar nenhum mesmo, então provavelmente só um erro lá.

Valeu xD

Eu também recebi as respostas Unexpected token.

Mas não recebi em momento nenhum Unexpected string.

Mas agora está claro. Valeu Derek