Analise os fragmentos de código JavaScript a seguir: I....

Próximas questões
Com base no mesmo assunto
Ano: 2013 Banca: FCC Órgão: DPE-SP Prova: FCC - 2013 - DPE-SP - Programador de computador |
Q304591 Programação
Analise os fragmentos de código JavaScript a seguir:

I. var a = new Object(); a.nome="Ana"; a.idade=40;

II. var c = {nome:"Ana", idade:40};

III. var b = new Array(); b[0] = "Ana"; b[1] = 40;

IV. var d = ["Ana",40];

Sobre esses fragmentos de código é correto afirmar que
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - todos os fragmentos estão corretos. Os fragmentos I e II criam objetos e os fragmentos III e IV criam arrays.

A questão apresenta quatro diferentes maneiras de se criar e inicializar objetos e arrays em JavaScript. Vamos discutir o porquê de a alternativa E ser a correta:

Os fragmentos I e II demonstram duas formas de criar um objeto em JavaScript. No fragmento I, é utilizado o construtor Object() para criar um novo objeto, e em seguida, são atribuídas propriedades ao objeto com os valores "Ana" para nome e 40 para idade. No fragmento II, é utilizado um literal de objeto para criar o objeto com as mesmas propriedades e valores do fragmento I. Ambos os métodos são corretos e comuns em JavaScript.

No fragmento III, é criada uma array usando o construtor Array(), e então são atribuídos valores às posições (índices) 0 e 1. O fragmento IV também cria uma array, mas desta vez usando um literal de array. Em JavaScript, as posições de um array são indexadas a partir de 0, e não de 1, o que faz com que esses fragmentos estejam corretos.

As alternativas A, B, C e D estão incorretas por diferentes razões:

  • A alternativa A está incorreta porque, em JavaScript, os objetos podem ter propriedades com valores de tipos diferentes, não sendo necessário usar aspas em números, a menos que se deseje que esses números sejam tratados como strings literais.
  • B está incorreta porque a sintaxe com dois-pontos (:) é a maneira correta de atribuir valores a propriedades em um literal de objeto em JavaScript. O cifrão ($) não tem essa função na linguagem.
  • C está incorreta porque todos os fragmentos de código estão sintaticamente corretos e funcionarão na maioria dos navegadores modernos, uma vez que são métodos bem estabelecidos em JavaScript.
  • D está incorreta porque, como mencionado anteriormente, os índices de uma array em JavaScript começam em 0 e não em 1.

Em resumo, a alternativa E está correta porque reflete a maneira apropriada de se criar e inicializar objetos e arrays em JavaScript. Os fragmentos I e II usam diferentes métodos para criar objetos com as mesmas propriedades, e os fragmentos III e IV fazem o mesmo para criar arrays.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Alternativa E, pois todos os fragmentos estão corretos. A questão aborda o conceito de criação de um Array e de um Object em JavaScript.

JavaScript Array

É uma variável especial a qual pode manter mais que um valor ao mesmo tempo. Em JavaScript há 3 formas de criar um Array, são elas:
1) Regular
var bancas=new Array(); 
bancas[0]="FCC";       
bancas[1]="Cespe";

2) Literal
var bancas=["FCC","Cespe"];

3) Condensado
var bancas=new Array("FCC","Cespe");

JavaScript Objects

É um tipo especial de dados com propriedades e métodos. Em JavaScript há 2 formas de criar um novo Object, são elas:
1) Regular
pessoa=new Object();
pessoa.nome="João";
pessoa.idade=40;


2) Literal
pessoa={nome:"João",idade:40};

Fonte: http://www.w3schools.com/js/

Vale destacar que arrays também são objetos em javascript.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo