Skip to content

ChiemezieSamson/20-Days-of-Basics-TypeScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 

Repository files navigation

20 Days of Basics TypeScript: Introduction

Discord Facebook Instagram LinkedIn Stack Overflow Twitter YouTube

📰 About Me Portfolio
Sep, 2024

Support the author to create more educational materials

PayPal

# Day Topics
00 Introduction
01 TypeScript Introduction
02 Types in TypeScript
03 Arrays in TypeScript
04 Tuple Types in TypeScript
05 Object Types in TypeScript
06 Functions in TypeScript 1
07 Functions in TypeScript 2
08 Narrowing in TypeScript
09 Type Manipulation
10 Conditional Types
11 Mapped Types
12 Template Literal Types
13 Classes 1
14 Classes 2
15 Modules
16 Utility Types
17 Enums
18 DOM Manipulation
19 DOM Practice
20 Final Projects

Day 1 >>

Table of Contents

📔 Day 0

Introduction

Self Introduction

Hello and welcome to this TypeScript course! My name is Samson Nebeolisa, and I’m a frontend developer with several years of experience building web applications using modern JavaScript frameworks like React. Throughout my career, I’ve found JavaScript to be an incredible tool for web development. However, as the ecosystem evolves, TypeScript is quickly becoming a game-changer in the industry.

More and more companies are now seeking developers who have strong TypeScript skills. Frameworks and libraries like Redux, React Native, Angular, and many others have adopted TypeScript as their primary language for documentation and development, making it challenging for JavaScript-only developers to keep up with evolving best practices.

Beyond that, TypeScript has proven itself in areas like code quality, maintainability, and developer productivity, providing a level of clarity and robustness that JavaScript often lacks. The static typing and developer tools that TypeScript offers are becoming essential in modern development workflows, especially for large-scale applications.

My goal with this course is to guide you through understanding and effectively using TypeScript in your projects. Whether you're completely new to TypeScript or looking to deepen your knowledge, this course will equip you with the skills to confidently write better, more maintainable, and scalable code.

Feel free to join the group chat:

Telegram. Discord

Course Introduction

This course is designed to give you a comprehensive introduction to TypeScript, specifically focusing on how you can use it as a developer to write better, more maintainable JavaScript. Throughout the course, we’ll cover the basics of TypeScript, and best practices for using TypeScript in real-world projects. By the end of the course, you’ll have a solid understanding of TypeScript and how it fits into the modern development workflow.

Why This Course Is Needed

As a developer, you’re already familiar with the dynamic nature of JavaScript. While JavaScript is incredibly flexible and powerful, it comes with a few challenges, especially in larger projects:

  • No Type Safety: JavaScript allows you to write code without specifying types, which can lead to bugs that are difficult to track down.

  • Inconsistent Code Quality: When multiple developers work on the same codebase, differences in coding style and type usage can create inconsistencies.

  • Lack of Tooling: Vanilla JavaScript doesn’t offer the level of intelligent tooling and autocomplete features that strongly-typed languages do.

TypeScript solves these problems by introducing a type system to JavaScript. It allows you to define types for your variables, functions, and objects, which leads to more predictable and maintainable code. Additionally, TypeScript integrates seamlessly with modern frontend frameworks like React, Angular, and Vue, which makes it a must-learn technology for developers working in the web space.

Here’s a real-world scenario to help illustrate the benefits:

  // Without TypeScript (JavaScript)
  function greet(name) {
    return "Hello, " + name.toUpperCase();
  }

  greet(123);  // This would cause a runtime error because '123' is not a string.

In JavaScript, the function greet will run without warning, but passing 123 instead of a string could cause unexpected behavior, potentially crashing your app.

With TypeScript, you can catch this error at compile time:

  // With TypeScript
  function greet(name: string): string {
    return "Hello, " + name.toUpperCase();
  }

  greet("John");  // Correct
  greet(123);  // Error: Argument of type 'number' is not assignable to parameter of type 'string'.

🌟 Awesome job! You’ve successfully completed your Day 0, and you're well on your way to becoming a great developer. Keep up the momentum!.

Day 1 >>

About

20 Days of Basics TypeScript course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published