Você sabe a diferença entre os tipos string[]
e [string]
?
string[]
é um array de strings, podendo ser um array vazio, com uma string, duas ou quantas strings você quiser.
let a: string[] = [] // => ok
let b: string[] = ['hello'] // => ok
let c: string[] = ['hello', 'world'] // => ok
Já o tipo [string]
também pode ser considerado um array, mas possui uma característica específica, é um array que possui um numero de elemento fixo em que se sabe o tipo exato de cada elemento. Esse tipo também é conhecido como tupla (tuple).
Portanto, para a tupla [string]
só se pode atribuir um array com um único elemento na posição inicial do tipo string, caso seja um array vazio ou com mais de um elemento, dará erro.
let d: [string] = [] // => error
let e: [string] = ['hello'] // => ok
let f: [string] = ['hello', 'world'] // => error
Também é possível ter tuplas com vários elementos e nem todos precisam ser do mesmo tipo
let g: [string, string] = ['hello', 'world'] // => ok
let h: [string, number] = ['hello', 123] // => ok
let i: [number, number, boolean] = [0, 1, true] // => ok
Também é possível adicionar labels para cara elemento da tupla, assim na hora de utilizar esse tipo, é possível saber ao que se refere cada posição do array.
let i: [x: number, y: number, z: boolean] = [0, 1, true]
Caso você queria assistir em vez de ler, segue o link do video.
Top comments (0)