SóProvas


ID
2839444
Banca
FADESP
Órgão
IF-PA
Ano
2018
Provas
Disciplina
Programação
Assuntos

Avalie as afirmações sobre a linguagem de programação Javascript.

I. Foi introduzida a utilização de classes a partir do ECMAScript 2015 para simplificar a utilização e manutenção de heranças baseadas no “prototype”. Porém, este recurso é apenas um embelezamento de código, uma vez que tudo ocorre dinamicamente e as classes na verdade são objetos.

II. Os objetos em Javascript são mutáveis, significa que mesmo depois de instanciados estes podem ter novas propriedades e métodos, independente dos outros objetos instanciados pelo mesmo construtor.

III. Javascript possui tipos primitivos fracamente tipados e dinamicamente tipados, sendo estes declarados com a palavra reservada “var”. Uma vez declarados com “var”, a variável tem validade dentro do escopo que foi declarado, por exemplo, se declarado dentro de uma estrutura de decisão, não será válido sua utilização fora desse escopo.

É correto afirmar que

Alternativas
Comentários
  • I. Verdade, prototype são objetos tipo function que substitui classes (nao existe elemento class em JS)

    II. Sem problemas, propriedades e métodos podem ser adicionados dinamicamente em JS.

    III. É tipicamente fraco e sim, o JS dinamicamente tipifica. Entretanto, variáveis instanciadas por var, apenas seguem o validade de escopo local se declarado dentro de uma função, em outras estruturas serão variável globais.

  • Letra C

  • Complementando a III.

    O "var" nasceu com o Javascript, e nas versões antigas só existiam os escopos de função e global. Com o ES2015, surgiram "let" e "const" para cobrir esse problema, pois esses nasceram com o conceito de escopo de bloco "{}" já conhecido em Java, C++, etc. Ou seja, quando declarados dentro de um for, if ou qualquer bloco, terá o escopo limitado por esse bloco.

  • Complementando, o ECMAScript 5th edition, já tem suporte a classes. A versão 2015 trouxe algumas melhorias, deixam as coisas mais simples de sem feitas.