none
[Javascript] Devo usar o ponto e vírgula (;) ou não? RRS feed

  • Pergunta

  • Olá,
    Tenho uma página com o seguinte javascript:

    <script>
    	document.getElementById("idHomePageNewItem").innerHTML="Adicionar Formulário"
    </script>

    Reparem que não uso o ponto e vírgula (;).
    Tudo funciona super bem sem o (;).

    Quero saber se a função não exije o ponto e vírgula ou é preciso mesmo?
    E se for preciso por que não recebo erro?


    Obrigado


    K2rto'4 - Analista Sharepoint
    "Hoje melhor do que ontem, amanhã melhor do que hoje!" 改 善

    terça-feira, 15 de julho de 2014 18:46

Respostas

  • Então, o código até é reconhecido pelo navegador se não tiver o ponto e vírgula, já que ele consegue interpretar que ao mudar de linha, é outro comando. E mesmo assim, em alguns casos ele poderá juntar comandos em linhas diferentes e considerar como uma coisa só.

    Ex:

    a = b + c
    (d + e).print()

    Será reconhecido como:

    a = b + c(d + e).print();

    Porém se você colocar esse código em uma ferramenta que retira espaços em branco, quebras de linha, etc, para que seu código fique mais leve, poderá ter problemas com isso pois ele deixará todos os comandos em uma linha só e ele não reconhecerá.

    Então é considerado uma boa prática colocar o ";" para evitar erros que possam ocorrer no futuro.

    Tem um artigo bom sobre isso:

    http://loopinfinito.com.br/2013/10/22/mamilos-pontos-e-virgulas-em-js/

    Espero que tenha ajudado!

    • Sugerido como Resposta Diego de Oliveira Neves terça-feira, 15 de julho de 2014 19:05
    • Marcado como Resposta TI DEV terça-feira, 15 de julho de 2014 20:36
    terça-feira, 15 de julho de 2014 19:02

Todas as Respostas

  • Então, o código até é reconhecido pelo navegador se não tiver o ponto e vírgula, já que ele consegue interpretar que ao mudar de linha, é outro comando. E mesmo assim, em alguns casos ele poderá juntar comandos em linhas diferentes e considerar como uma coisa só.

    Ex:

    a = b + c
    (d + e).print()

    Será reconhecido como:

    a = b + c(d + e).print();

    Porém se você colocar esse código em uma ferramenta que retira espaços em branco, quebras de linha, etc, para que seu código fique mais leve, poderá ter problemas com isso pois ele deixará todos os comandos em uma linha só e ele não reconhecerá.

    Então é considerado uma boa prática colocar o ";" para evitar erros que possam ocorrer no futuro.

    Tem um artigo bom sobre isso:

    http://loopinfinito.com.br/2013/10/22/mamilos-pontos-e-virgulas-em-js/

    Espero que tenha ajudado!

    • Sugerido como Resposta Diego de Oliveira Neves terça-feira, 15 de julho de 2014 19:05
    • Marcado como Resposta TI DEV terça-feira, 15 de julho de 2014 20:36
    terça-feira, 15 de julho de 2014 19:02
  • O ; em muitas linguagens de script / programação indica o término de uma linha ou instrução;

    No C#, J# e Java a utilização do mesmo é obrigatório.


    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    quarta-feira, 23 de julho de 2014 18:40