Analise os fragmentos de código JavaScript a seguir: I....
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
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
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