\newlinenewline logonewline logo
    • Learn

      Learn

      Learn web development from expert teachers. Build real projects, join our community, and accelerate your career

      Get Started
      Fullstack RustFullstack Node.jsFullstack D3Fullstack ReactFullstack React with TypeScriptmore →
      https://dzxbosgk90qga.cloudfront.net/fit-in/620x372/n/20220117210542194_21CB9CF5-AA2C-4939-BCC1-18F0377EFB90.png

      The newline Guide to Building Your First GraphQL Server with Node and TypeScript

      In this course, we'll show you how to create your first GraphQL server with Node.js and TypeScript

      Enroll for free
    • Teach

      Teach

      Share your knowledge with others, earn money, and help people with their career

      Apply Now
      Apply To Teach A CourseWhat Our Teachers Say
      Amelia Wattenberger

      Amelia Wattenberger

      Author of Fullstack D3

      "Writing Fullstack D3 was a thoroughly enjoyable, fun process.

      The writing was over before I knew it, and we've sold way more copies than I expected! Plus, the compliments from my peers have been really amazing."

    • Community

      Community

      Get help with programming projects, find collaborators, and make friends

      Join Now
      Join our Discord ServerListen to the PodcastWhat Our Students Say

      Featured Podcast

      A Software Engineer's Guide to Venture Capital with AngelList Engineer Sumukh Sridhara

      While many engineers work at startups or are interested in starting their own company, venture capital can seem like a total mystery. In this episode, we talk about how venture capital firms function, how VCs make money - and...

      Listen to the full episode
    • Tutorials
    Go ProLog In
     

    Beginners Guide to TypeScript

    Welcome:

    Start Here

    Chapter 1:

    Getting Started With TypeScript

    • Introduction
    • What is TypeScript?
    • JavaScript vs. TypeScript Example
    • Untyped JavaScript
    • Catching Errors with Types
    • Why Should I Use TypeScript?

    Chapter 2:

    Setting Up Your TypeScript Development Environment

    • Setting up your development environment
    • Code editor
    • Node.js and npm
    • Getting Started
    • Initialize package.json
    • Install TypeScript
    • Install ts-node
    • Initialize tsconfig.json

    Chapter 3:

    Planning Our First TypeScript Application: FinanceMe

    • Building FinanceMe
    • Planning FinanceMe
    • Example Usage
    • Class Diagram of FinanceMe

    Chapter 4:

    Classes in TypeScript: User and Expense

    • TypeScript Classes
    • Expense Class

    Chapter 5:

    Generating Unique Ids

    • Generating Unique Ids For Each Expense
    • Add genUniqueId to Expense
    • Putting It Together

    Chapter 6:

    Generating the Budget Class

    • Budget Class
    • Five New Methods
    • Category enum
    • Grouping Expenses in a Budget
    • Putting It Together

    Chapter 7:

    Tracking Expenses by Month and Users

    • TrackedMonth Class
    • User Class
    • Conclusion

    Chapter 8:

    TypeScript Language Features

    • Introduction
    • Type Alias
    • Primitive Types
    • Number
    • Number Literal Types
    • Numeric Separators
    • String
    • String Literal Types
    • Boolean
    • null and undefined
    • void

    Chapter 9:

    Lists with Arrays and Tuples

    • Arrays
    • Tuples
    • Optional Elements

    Chapter 10:

    Enums are for named constants

    • Enums
    • Enums have a value
    • Reverse Mappings

    Chapter 11:

    Typing Objects

    • Object Types
    • The object type
    • Typing object properties
    • Optional properties

    Chapter 12:

    Union Types, Discriminated Unions, and Type Guards

    • Union Types Denote "or"
    • Discriminated Unions
    • Type Guards

    Chapter 13:

    Intersection Types

    • Intersection Types Express "and"
    • Optional Properties are Optional
    • Shared Properties are Intersections

    Chapter 14:

    Typing Functions - The Basics

    • Functions
    • Annotating Functions
    • Optional Parameters
    • Default Parameters
    • Rest Parameters