Eh?...evitar usar?....es exactamente lo mismo...solo hay una diferencia entre usar la forma explicita new Array() con la literal, luego es exactamente igual, accedes a las propiedades y metodos de la misma forma, y no tienen problemas ni de tiempo de ejecución o performance...no me vas a venir con el cuento que es crear contenedores innesarios como en Java, no?...Usar una u otra forma, esta mas orientado a la forma de escribir código de cada uno, pero en ninguno de los casos esta mal aplicado, o hay que usar uno por encima del otro...
en que te basas para decir que hay que evitar???...afirmando estas cosas así, lo único que logras es confundir a gente que recién empieza con JavaScript...