SpiderMonkey JavaScript Shell – Programando JavaScript em linha de comando

Tags: , , , — March 14, 2008 @ 7:10 pm

Desenvolvedores Web costumam ter grandes problemas para debugar JavaScript. Enquanto programas como a extensão FireBug do Firefox fazem milagres para debugar, o programador ainda precisa colocar sucessivos alert()s para descobrir os valores que suas variáveis assumem em determinados pontos. Certo?

Errado!

Estava pesquisando agora a pouco algumas funções de js no MDC quando fiquei meio curioso com o modo como os exemplos de código eram mostrados e, em especial, de uma função print(). Como no fragmento a seguir:

var names = "Harry Trump ;Fred Barney; Helen Rigby ;";
print(names);
var re = /\s*;\s*/;
var nameList = names.split(re);
print(nameList);

Ora, bolas! Javascript não pode imprimir nada em stdout, então, como pode existir uma função print()?

Então que, pesquisando mais um pouquinho, cheguei ao SpiderMonkey Javascript Shell.

O SpiderMonkey é o mecanismo interpretador de Javascript do Gecko, escrito em C, e utilizado em vários produtos Mozilla, como o Firefox, por exemplo e a boa notícia é que ele provê também um Shell para executar js em linha de comando.

Com isso fica extremamente fácil criar e testar scripts para usar posteriormente. Veja o exemplo a seguir:

diovani@debian-websul:~$ js
js> var frase = 'Hello World!';
js> var tamanho = frase.length;
js> var teste = frase + ' tem ' + tamanho + ' caracteres.';
js> print(teste);
Hello World! tem 12 caracteres.
js>

Para instalar o SpiderMonkey JS Shell no Debian GNU/Linux basta executar o comando:

# aptitude update && aptitude install spidermonkey-bin

Após a instalação, basta executar em um terminal o comando $ js para entrar no Shell interativo:

Para entrar no shell interativo use o comando:
$ js

Para executar os scripts de um arquivo (foo.js) use:
$ js -f foo.js

Para executar os scripts de um arquivo (foo.js) e entrar no shell interativo (muito útil para carregar funções ou bibliotecas) em seguida use:
$ js -f foo.js -f -

Mas mesmo para outras distribuições, e até mesmo Windows, deve ser extremamente fácil instalá-lo. Veja o link abaixo para a Documentação do Javascript Shell e exemplos de uso:

Link: Introdução ao Shell Javascript

If you enjoyed this post, make sure you subscribe to my RSS feed!

2 Comments »

  1. Excelente artigo, mas acho que com o Firebug é possível se obter um resultado semelhante, pressionado CTRL + SHIFT + L. Abre um terminal para execução de códigos em tempo real.

    Um abraço.

    Comment by Eneas — March 15, 2008 @ 1:24 pm

  2. Bah, não sabia desta, muito útil para testar scripts já carregados na página.
    Mas ainda assim não existe um comando para imprimir em std:out (ainda tem q usar alert()), o que faz o JsShell uma ótima opção para desenvolvimento de scripts que trabalham com muitas variáveis.

    Me faz um favor, se tiver interesse em publicar um tutorial de como usar o Javascript Shell no Windows dá um trackback pra cá, que faço o mesmo.

    Comment by diovani — March 17, 2008 @ 2:06 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment