반응형
Array
JavaScript처럼 TypeScript 배열도 연결(concatenation), 푸시(pushing), 검색(searching), 슬라이스(slicing) 등을 지원하는 특별한 객체입니다.
TypeScript는 T[]와 Array<T>라는 두 가지 배열 문법을 지원합니다. 성능, 의미상 두 표현은 같습니다.
let a = [1, 2, 3]; // number
var b = ['a', 'b']; // string[]
let c: string[] = ['a']; // string[]
let d = [1, 'a']; // (string | number)[]
const e = [1, 'b']; // (string | number)[]
let f = ['red'];
f.push('blue');
f.push(true); // error TS2345: 'true' 타입 인수를 'string' 타입 매개변수에 할당할 수 없음
let g = []; // any[]
g.push(1); // number[]
g.push('red'); // (string | number)[]
let h: number[] = []; // number[]
h.push(1); // number[]
h.push('red'); // error TS2345: 'red' 타입 인수를 'number' 타입 매개변수에 할당할 수 없음
위의 예제를 보면, c와 h를 제외한 모든 변수의 타입은 묵시적으로 정의합니다.
또한 TypeScript의 배열엔 무엇을 넣을 수 있고, 넣을 수 없는지에 관한 규칙이 있음을 알 수 있습니다.
대개는 배열을 동형(homogeneous)으로 만듭니다.
즉, 한 배열에 장미, 해바라기, 숫자를 함께 저장하지 않고 배열의 모든 항목이 같은 타입을 갖도록 설계하려 노력합니다.
그렇지 않으면, TypeScript에 배열과 관련한 작업이 안전한지 증명해야 하므로 추가 작업을 해야 하기 때문입니다.
반응형
'👶 TypeScript' 카테고리의 다른 글
any (0) | 2023.01.08 |
---|---|
Tuple (0) | 2023.01.08 |
객체(Object) (0) | 2023.01.07 |
null & undefined (0) | 2023.01.07 |
symbol (0) | 2023.01.07 |