Generic array syntax helps you create arrays that can hold any type of data safely. It makes your code flexible and type-safe.
Generic array syntax in Typescript
let arrayName: Array<Type> = [value1, value2, ...]; // or using shorthand let arrayName: Type[] = [value1, value2, ...];
Array<Type> and Type[] mean the same thing in TypeScript.
Use the generic form Array<Type> when you want to be explicit, and Type[] for shorter syntax.
let numbers: Array<number> = [1, 2, 3];
let strings: string[] = ['apple', 'banana', 'cherry'];
let emptyArray: Array<boolean> = [];
let mixed: Array<number | string> = [1, 'two', 3];
This program defines a generic function that prints all items in an array. It works with arrays of numbers and strings, showing how generic array syntax keeps type safety and flexibility.
function printArrayItems<T>(items: Array<T>): void { for (const item of items) { console.log(item); } } const numberArray: Array<number> = [10, 20, 30]; const stringArray: string[] = ['hello', 'world']; console.log('Number array items:'); printArrayItems(numberArray); console.log('String array items:'); printArrayItems(stringArray);
Using generic arrays keeps your code safe by checking types at compile time.
Time complexity for accessing array items is O(1).
Common mistake: mixing types in arrays without using union types can cause errors.
Use generic arrays when you want reusable code that works with any data type.
Generic array syntax lets you create arrays that hold any type safely.
You can write Array<Type> or Type[] to declare arrays.
It helps make your code flexible and prevents type errors.
Practice
Solution
Step 1: Understand generic array syntax
In TypeScript,Array<Type>declares an array holding elements ofType.Step 2: Check each option for correct syntax and type
let nums: Array<number> = [1, 2, 3];usesArray<number>with a number array, which is correct. Others have wrong types or assignments.Final Answer:
let nums: Array<number> = [1, 2, 3]; -> Option BQuick Check:
Generic array syntax =Array<Type>[OK]
- Forgetting to specify the type inside Array<>
- Assigning a non-array value to an array type
- Using Array without type parameter
Solution
Step 1: Recall shorthand array syntax
In TypeScript,Type[]declares an array ofType.Step 2: Validate each option
let names: string[] = ['Alice', 'Bob'];correctly usesstring[]for an array of strings. Others are incorrect or incomplete.Final Answer:
let names: string[] = ['Alice', 'Bob']; -> Option AQuick Check:
Shorthand array syntax = Type[] [OK]
- Omitting the type inside Array<>
- Using tuple syntax instead of array
- Assigning array to a non-array type
function firstElement<T>(arr: Array<T>): T | undefined {
return arr[0];
}
const nums: number[] = [10, 20, 30];
console.log(firstElement(nums));Solution
Step 1: Understand the generic function behavior
The functionfirstElementreturns the first element of the array orundefinedif empty.Step 2: Apply function to given array
The arraynumshas elements [10, 20, 30], soarr[0]is 10.Final Answer:
10 -> Option CQuick Check:
firstElement([10,20,30]) = 10 [OK]
- Assuming function returns last element
- Confusing undefined with zero
- Thinking generic causes error
let fruits: Array<string> = ['apple', 'banana', 5];
Solution
Step 1: Check array element types
The array is declared to hold strings only.Step 2: Identify type mismatch
The element5is a number, which violates the string type constraint.Final Answer:
The array contains a number instead of a string -> Option AQuick Check:
Array<string> must hold only strings [OK]
- Mixing types inside a typed array
- Ignoring type errors in arrays
- Confusing syntax errors with type errors
Solution
Step 1: Define generic parameter and array type
The function uses a generic typeTand takes an array ofTelements.Step 2: Ensure return type matches input array type
The function returns an array ofT, soArray<T>is correct for both parameter and return type.Final Answer:
function repeatArray<T>(arr: Array<T>): Array<T> -> Option DQuick Check:
Generic function array syntax = Array<T> [OK]
- Omitting generic type parameter <T>
- Using non-generic Array without type
- Incorrect parameter or return types
Ready to prove it?
Pass the test and this pattern moves unknown
