DEV Community

Naveed Tariq
Naveed Tariq

Posted on

From JavaScript to TypeScript — Phase 3

The 20% of TypeScript That Powers 80% of Applications

You don't need advanced TypeScript to be productive.
A small set of features covers most real-world development.

Union Types

type Status = "pending" | "approved" | "rejected";
Enter fullscreen mode Exit fullscreen mode

Instant validation without enums or complex logic.

Optional Properties

interface User {
  name?: string;
}
Enter fullscreen mode Exit fullscreen mode

Perfect for API responses.

Generics

Generics allow reusable, type-safe logic.

function identity<T>(value: T): T {
  return value;
}
Enter fullscreen mode Exit fullscreen mode

You will encounter generics everywhere.

Async Types

async function getUser(): Promise<User> {}
Enter fullscreen mode Exit fullscreen mode

Every async function returns a Promise.

Utility Types (Hidden Superpower)

Partial<User>
Pick<User, "id">
Record<string, number>
Enter fullscreen mode Exit fullscreen mode

These replace large amounts of boilerplate code.

Practical Advice

You already know enough TypeScript when you can:

  • type API responses
  • type function parameters
  • understand generics in libraries

Next: setting up your first real TypeScript project.

Top comments (0)