Skip to content

Commit 4aaae68

Browse files
committed
Prefer TypeScript inference over explicit types
- Remove explicit return types from functions where inference works - Use as const for tuple inference in getMinMax - Remove return type annotations from destructuring examples
1 parent ddcd788 commit 4aaae68

File tree

5 files changed

+10
-10
lines changed
  • exercises
    • 03.tuples/01.solution.fixed-length
    • 05.enums/01.solution.string-enums
    • 06.destructuring
    • 07.spread-rest/02.solution.rest-parameters

5 files changed

+10
-10
lines changed

exercises/03.tuples/01.solution.fixed-length/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ const nyc: [number, number] = [40.7128, -74.006]
55

66
const la: [number, number] = [34.0522, -118.2437]
77

8-
function formatCoordinate([lat, long]: [number, number]): string {
8+
function formatCoordinate([lat, long]: [number, number]) {
99
return `Lat: ${lat}, Long: ${long}`
1010
}
1111

1212
function getDistance(
1313
[lat1, long1]: [number, number],
1414
[lat2, long2]: [number, number],
15-
): number {
15+
) {
1616
const latDiff = lat2 - lat1
1717
const longDiff = long2 - long1
1818
return Math.sqrt(Math.pow(latDiff, 2) + Math.pow(longDiff, 2))

exercises/05.enums/01.solution.string-enums/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const order = {
1414
customerName: 'Alice Johnson',
1515
}
1616

17-
function getStatusMessage(status: OrderStatus): string {
17+
function getStatusMessage(status: OrderStatus) {
1818
switch (status) {
1919
case OrderStatus.Pending:
2020
return 'Your order is pending confirmation'

exercises/06.destructuring/01.solution.object-destructuring/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const { id: userId } = user
2626
const { bio = 'No bio provided' } = user
2727

2828
// Function with parameter destructuring
29-
function formatUserCard({ name, email, role }: User): string {
29+
function formatUserCard({ name, email, role }: User) {
3030
return `${name} (${role}) - ${email}`
3131
}
3232

exercises/06.destructuring/02.solution.array-destructuring/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ const coordinates: [number, number, number] = [10, 20, 30]
1515
const [x, y, z] = coordinates
1616

1717
// Function returning tuple, then destructuring result
18-
function getMinMax(nums: Array<number>): [number, number] {
18+
function getMinMax(nums: Array<number>) {
1919
const sorted = [...nums].sort((a, b) => a - b)
20-
return [sorted[0], sorted[sorted.length - 1]]
20+
return [sorted[0], sorted[sorted.length - 1]] as const
2121
}
2222

2323
const [min, max] = getMinMax(scores)

exercises/07.spread-rest/02.solution.rest-parameters/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,25 @@
22
// Functions that accept variable numbers of arguments
33

44
// Rest parameters collect all arguments into an array
5-
function multiply(...numbers: Array<number>): number {
5+
function multiply(...numbers: Array<number>) {
66
if (numbers.length === 0) return 1
77
return numbers.reduce((a, b) => a * b, 1)
88
}
99

1010
// Combining regular parameter with rest
11-
function logWithPrefix(prefix: string, ...messages: Array<string>): void {
11+
function logWithPrefix(prefix: string, ...messages: Array<string>) {
1212
for (const message of messages) {
1313
console.log(`${prefix} ${message}`)
1414
}
1515
}
1616

1717
// Generic rest parameters
18-
function createArray<T>(...items: Array<T>): Array<T> {
18+
function createArray<T>(...items: Array<T>) {
1919
return items
2020
}
2121

2222
// Rest + spread combo - collect arrays, spread to merge
23-
function mergeArrays<T>(...arrays: Array<Array<T>>): Array<T> {
23+
function mergeArrays<T>(...arrays: Array<Array<T>>) {
2424
const result: Array<T> = []
2525
for (const arr of arrays) {
2626
result.push(...arr)

0 commit comments

Comments
 (0)