Descrição
Todos os navegadores da Web modernos e populares suportam JavaScript com interpretadores integrados.
Imperativa e Estruturada
JavaScript suporta os elementos de sintaxe de programação estruturada da linguagem C como, por exemplo, if
, while
, switch
. Uma exceção é a questão do escopo: o escopo em blocos ao estilo do C não é suportado. Em seu lugar, JavaScript utiliza escopo a nível de função. JavaScript 1.7, entretanto, suporta escopo a nível de bloco através do comando let
. Como C, JavaScript faz distinção entre expressões e comandos. Uma diferença sintática do C é que a quebra de linha termina automaticamente o comando, sendo o ponto-e-vírgula opcional ao fim de uma instrução.
interna é concluída.
Fechamentos
JavaScript permite que funções aninhadas sejam criadas com o escopo léxico no momento de sua definição e possui o operador ()
para invocá-las em outro momento. Essa combinação de código que pode ser executado fora do escopo no qual foi definido, com seu próprio escopo durante a execução, é denominada, dentro da ciência da computação, fechamento.
Baseada em Protótipos
Protótipos
JavaScript usa protótipos em vez de classes para o mecanismo de herança. É possível simular muitas características de orientação a objetos baseada em classes com protótipos.
function calcIdade(b) { var hoje = new Date(); var a = hoje.getFullYear(); var idade = a - b;
return idade; }
Funções e métodos
Diferente de muitas linguagens orientadas a objetos, não há distinção entre a definição de uma função e a definição de um método no JavaScript. A distinção ocorre durante a chamada da função; a função pode ser chamada como um método. Quando uma função é chamada como método de um objeto, a keyword this
da função é associada àquele objeto via tal invocação.
Extensões específicas do fornecedor
JavaScript é oficialmente gerenciado pela Mozilla Foundation, e novos recursos de idioma são adicionados periodicamente. No entanto, apenas alguns mecanismos JavaScript suportam esses novos recursos:
- Funções de propriedade getter e setter (suportadas pelo WebKit, Gecko, Opera,[26] ActionScript e Rhino).
- Cláusulas de captura condicional.
- Protocolo iterador (adotado do Python).
- Compreensões de array e gerador de expressões (adotado do Python)
- Escopo de bloco adequado através da palavra-chave
let
- Desestruturação de matriz e objeto (forma limitada de pattern matching)
- Expressões de função concisas (
function(args) expr
) - ECMAScript para XML (E4X), uma extensão que adiciona suporte XML nativo ao ECMAScript (não suportado no Firefox desde a versão 21
Avaliações
Não há avaliações ainda.