Array<Type> VS Type[] no TypeScript: qual a diferença e o que escolher?
Olá a todos! Comecei a estudar TypeScript recentemente e me deparei com uma situação confusa. Ao declarar arrays, vejo duas sintaxes diferentes:
```typescript
const numbers: number[] = [1, 2, 3];
const strings: Array = ['a', 'b', 'c'];
```
Ambas as opções funcionam e parecem fazer a mesma coisa. Mas não entendo, há diferença entre elas? Quando usar cada uma?
Tentei ambas as formas no meu projeto:
```typescript
// Opção 1
let list1: number[] = [1, 2, 3];
// Opção 2
let list2: Array = [1, 2, 3];
// Ambas compilam sem erros
```
Acho que `Array` parece mais "tipado", enquanto `Type[]` é mais curto. Mas talvez haja algumas armadilhas ou casos em que uma opção não funciona e a outra sim?
Estou especialmente interessado em:
1. Há diferença de performance?
2. Posso misturá-las?
3. O que dizem as guidelines do TypeScript?
4. Qual opção é preferível para tipos complexos, por exemplo, quando o array contém