평소에는 []형태로 타입을 구성하다가 현 회사의 코드 컨벤션은 Array<type>
형태로 사용하게 되었다.
Array와 []는 무슨 차이가 있길래 사용하고 실제로는 어떤 방식이 더 좋은가 생각해볼 필요가 있다.
https://stackoverflow.com/questions/38239579/what-is-the-difference-arraystring-and-string
해당 문서(와 여러 스택오버플로우 참조)에 따르면 실질적인 성능차이는 없고 동일하다고 한다. (이전에 성능적으로 차이가 있다라는 문서를 본 것 같은 기분이 들긴하는데 그냥 가스라이팅인 것 같다.)
그렇다면 성능이 아닌 실질적으로 작성하면서 유리한 점이 있는지 살펴봐야 한다.
어떻게 보면 이점이 있을 수 도 있다.
const test: Array<string|number> = [0,"a",1,"asdf"];
const test2: [string, number] = ["gkdl", 0];
Array를 사용할 때의 장점은 유니온 타입의 사용이 가능하다. 특정 배열에서 유니온 타입으로 2개 이상의 타입이 들어갈 일 은 없다고 하지만 적어도 배열의 길이가 확정되지 않았을 경우에는 Array형태가 도움이 된다.
반면에 특정 배열의 특정 값이 어떤 타입이냐를 검증해야할 경우에는 배열형태가 더 도움이 된다.
상황에 따라 짜면 괜찮고, 무조건 Array<>형태로만 짤 필요는 없어보인다.
라고 생각할 수 있지만, []형태에서도 유니온타입처럼은 사용이 가능하다...
const hiBro: (string | number)[];
즉 Array형태보다는 []형태가 더 자유도가 있다고 생각된다.