Learn TypeScript - Full Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ธ.ค. 2024

ความคิดเห็น • 910

  • @HiteshCodeLab
    @HiteshCodeLab 2 ปีที่แล้ว +1490

    Thanks for sharing the video. Feel free to ask any doubt here, I will try to answer them. Also, I am on my way to contribute more videos to #freecodecamp
    Stay tuned

  • @hamsitava5725
    @hamsitava5725 ปีที่แล้ว +555

    After this course I learned that 70% of viewers are not subscribers and we shall hit the subscribe button. Thank you Hitesh

    • @Abdlmnn1
      @Abdlmnn1 ปีที่แล้ว +35

      What about Typescript? Didn't you learn that? 😅

    • @cowabunga2597
      @cowabunga2597 ปีที่แล้ว +8

      @@Abdlmnn1 no 😀

    • @MrDJsArcade
      @MrDJsArcade ปีที่แล้ว +3

      Hahaha. So true. I’m gonna go subscribe now. Like 20 times.

    • @RaviPrajapati-uy1wm
      @RaviPrajapati-uy1wm 10 หลายเดือนก่อน

      This is amazing typescript series I love it❤❤

    • @abidalipkm2065
      @abidalipkm2065 9 หลายเดือนก่อน

      😂

  • @francismaina8754
    @francismaina8754 ปีที่แล้ว +15

    Just finished the tutorial. Hitesh is a wonderful teacher. I enjoyed from start to finish. I would definitely recommend this tutorial to anyone looking to not only understand Typescript, but also how to read and understand documentations.

    • @cybertara
      @cybertara ปีที่แล้ว

      Po 😊😊😅😊

  • @MuhammadFaiz-nr1uu
    @MuhammadFaiz-nr1uu ปีที่แล้ว +49

    Enums stands for Enumerations. Enums are a new data type supported in TypeScript. It is used to define the set of named constants, i.e., a collection of related values. TypeScript supports both numeric and string-based enums

    • @unleashedjanebi
      @unleashedjanebi ปีที่แล้ว +2

      To my experience, Enums are the perfect balance between having to create an entire class for passing some data in a readable manner, and passing raw data (like numbers) to represent a certain meaning which you have in mind, which makes the code less readable and maintainable
      That being said, I am a C# developer and just starting out with typescript, but i assume the benefits apply here as well

  • @manomancan
    @manomancan ปีที่แล้ว +10

    What an amazing teacher, honestly. So eloquent and to the point.

  • @manylovv
    @manylovv 2 ปีที่แล้ว +121

    Hey, thank you for the course, but I think you might be wrong at 1:18:30
    You create a function "createUser", that takes in object with "name" and "isPaid" properties.
    But instead of giving them a type, you destructuring the object
    and reassigning "name" to "string" and "isPaid" to "boolean",
    But object itself still has "any" type!
    function createUser({ name: string, isPaid: boolean }) {}
    Same as:
    function createUser({ name: string, isPaid: boolean }: any) {}
    Almost same as:
    function createUser({ name, isPaid }) { ---> type is still "any"
    const string = name
    const boolean = isPaid
    }
    I think you wanted to to something like this instead:
    function createUser({ name, isPaid }: { name: string, isPaid: boolean }) {}
    Or this:
    type User = { name: string, isPaid: boolean }
    function createUser({ name, isPaid }: User) {}
    Y'all can try to code this in typescript playground, if you don't believe me
    www.typescriptlang.org/play
    Info about Destructuring assignment (from MDN):
    developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
    I hope it will help someone to feel less confused in this tough topic

    • @horacinis
      @horacinis ปีที่แล้ว +12

      Huh glad you took the time to write this comment clarifying that, I was replicating what he did in Typescript playground and it was erroring, I then I asked ChatGPT what was wrong with the function and the response was basically changing the structure of the function to how you have done it in your comment. Thanks for doing that good man!

    • @OCTsecond
      @OCTsecond ปีที่แล้ว

      thank you for your explaination

    • @thecalgarians4597
      @thecalgarians4597 ปีที่แล้ว +1

      I spent half hour on this before I started wondering if someone highlighted this in the comments. Thanks man, great explanation

    • @RiteshKumar-tx1gn
      @RiteshKumar-tx1gn ปีที่แล้ว

    • @VikrantSingh-z5r
      @VikrantSingh-z5r 7 หลายเดือนก่อน +1

      thanks for exaplanation but what's the difference?
      I can still do this
      function createUser2({ name, isPaid }: { name: string; isPaid: boolean }) {}
      let sampleData ={ name: "John", isPaid: true , age: 25}
      createUser2(sampleData)

  • @prakashaspanaroma
    @prakashaspanaroma ปีที่แล้ว +118

    🎯 Key Takeaways for quick navigation:
    00:00 📖 Introduction to the TypeScript Tutorial Series
    01:21 🧐 Understanding TypeScript's Place in the Ecosystem
    02:17 🚀 Diving Deep into TypeScript Characteristics
    03:37 💡 The Importance of TypeSafety in TypeScript
    04:59 🔍 TypeScript and TypeSafety
    06:46 🎢 Beginning the TypeScript Journey
    07:42 🛠️ Understanding TypeScript's Core Functionality
    09:30 🖥️ TypeScript's Role in Development
    10:52 🔄 Conversion of TypeScript to JavaScript
    11:50 🧰 TypeScript as a Development Tool
    15:23 📘 The Importance of Hands-On Learning
    16:23 🖥️ Installing TypeScript System-Wide
    17:45 🔧 TypeScript Installation Steps
    20:57 🚀 Running TypeScript with TSC Command
    21:55 🎯 Setting Up the Development Environment
    22:18 ✍️ Basic TypeScript Syntax
    24:11 🔧 Compiling TypeScript to JavaScript
    26:03 ⚙️ TypeScript Configuration & Playground
    27:19 🎓 Emphasis on Documentation & Learning Pace
    28:42 📊 Understanding TypeScript Types
    29:58 🚫 The Use of "any" in TypeScript
    31:25 📚 TypeScript Documentation Exploration
    32:19 🤝 TypeScript's Role in Collaboration
    34:04 💡 TypeScript Syntax Basics
    35:55 🔧 TSC Compilation and Handling Errors
    36:52 🚫 Ensuring Data Type Consistency with TypeScript
    37:41 🧐 Importance of Reading Documentation
    38:34 🖊️ Writing and Understanding TypeScript Code
    40:26 💡 Dive into Number Data Type in TypeScript
    43:16 🛑 Avoiding Over-Annotation in TypeScript
    44:11 🧠 TypeScript's Type Inference Mechanism
    46:03 📖 TypeScript Syntax and Best Practices
    46:56 ⚠️ Misuse of the "any" Keyword in TypeScript
    48:21 📚 Official TypeScript Documentation on "any"
    50:35 🚫 Avoiding "any" for Robust TypeScript Coding
    51:30 🧐 Proper Use of Functions in TypeScript
    52:26 📝 Basics of Function Creation and Error Handling
    54:41 🚫 Avoiding Inaccurate Type Annotations
    56:29 🔄 Converting Data Types within Functions
    57:25 ✍️ User Signup Function Demonstration
    57:51 🚦 Sign-Up Function Parameters and Types
    59:44 🖊️ Login Function and Default Parameters
    01:02:05 🔍 Ensuring Accurate Return Values
    01:03:25 🌐 TypeScript Philosophy and Application
    01:04:49 🛠️ Annotating Return Types in Functions
    01:06:33 🔁 Understanding Multiple Return Types
    01:07:58 🔄 Looping through Arrays with Map
    01:11:10 📚 Redirecting to Documentation for Advanced Functions
    01:12:06 ⚠️ Specifying Return Types: Void and Never
    01:15:37 🧩 Odd Behaviors in TypeScript
    01:16:34 📜 Objects in TypeScript
    01:19:10 🛠️ Function Definitions & Object Exports
    01:20:59 🔄 Functions Returning Objects
    01:22:52 🤔 Odd Behaviors & Object Handling
    01:25:11 📜 Type Aliases Introduction
    01:26:36 👥 Using Type Aliases for User Data
    01:28:49 📖 Documentation & Practical Usage
    01:32:21 🔍 Quirky Behaviors & Specific Keywords
    01:34:33 🚫 `read only` and Optional Properties in TypeScript
    01:39:08 🔄 Combining Multiple Types
    01:42:18 📋 Understanding Arrays in TypeScript
    01:42:46 🌐 Defining Arrays in TypeScript
    01:48:48 📖 TypeScript Array Documentation Review
    01:50:12 🤝 Introduction to Union Types
    01:50:38 🎤 Importance of Contextual Understanding
    01:51:06 🤹‍♂️ Introduction to Union Types in TypeScript
    01:53:24 🎥 Subscriber Engagement and Advanced Union Usage
    01:58:56 🔍 Union Narrowing & Type Checking
    02:00:44 📊 Union Types in Arrays and Classic Mistakes
    02:04:46 🧩 Introduction to Tuples
    02:07:03 📜 Restricting Array Order with Tuples
    02:10:17 💡 Practical Implementation and Caution
    02:14:20 🚩 Introduction to Enums
    02:14:49 🎯 Enums: Definition and Basics
    02:17:11 ⚙️ Implementing Enums in TypeScript
    02:20:15 🔄 Enum Value Interpretation
    02:22:24 🔄 Use of `const` with Enums
    02:23:44 👤 Introduction to Interfaces
    02:28:16 📜 Methods in Interfaces
    02:30:09 🔖 Defining Methods in Interfaces
    02:33:17 🖥️ Understanding the Role of Interfaces
    02:34:14 🚀 Extending Interfaces & Inheritance
    02:37:51 📚 Distinction between Type and Interface
    02:39:16 🛠️ TypeScript in Production
    02:41:08 🚀 Setting Up TypeScript for Projects
    02:45:40 ⚙️ TypeScript Compilation Configuration
    02:47:54 🌐 Using Live Server for TypeScript Projects
    02:52:02 🎨 Styling and Further TypeScript Discussion
    02:53:51 🌌 Introduction to Advanced TypeScript Use
    02:54:45 🎓 Creating Classes in TypeScript
    02:57:26 🔒 Using TypeScript for Data Safety
    03:00:46 🛡️ Read-only Properties in TypeScript Classes
    03:02:12 📌 Advanced TypeScript Concepts
    03:03:08 🔐 Modifiers in TypeScript
    03:07:40 🚀 Getters and Setters in TypeScript
    03:09:58 📝 Setters in TypeScript
    03:13:40 🚫 Private Methods in TypeScript
    03:15:28 🔒 Access Modifiers and Inheritance in TypeScript
    03:17:46 🖼️ Additional Class Properties in TypeScript
    03:19:52 📐 Interfaces in TypeScript Explained
    03:23:57 📹 Extending Interfaces for Additional Features
    03:26:06 📜 Introduction to Abstract Classes in TypeScript
    03:29:15 🖥️ Practical Implementation of Abstract Classes
    03:33:18 🚀 Advanced Features of Abstract Classes
    03:34:15 🔄 Abstract Classes Recap and Method Overwriting
    03:35:41 🔗 Introduction to Generics in TypeScript
    03:38:23 📖 Generics in Practical Coding and Documentation
    03:42:21 🛠️ Differentiating Generics from Any in TypeScript
    03:45:33 🍾 Creating and Implementing Custom Generics
    03:47:48 📘 Diving Deeper into Generics and Arrow Functions
    03:50:09 🔍 Basics of Defining Generics in TypeScript
    03:52:47 🔄 Arrow Functions and Generics in TypeScript
    03:55:29 📘 Distinguishing Generics Syntax in Codebases
    03:56:20 🏛️ Deep Dive into Generics and its Constraints
    03:57:49 📜 Using `extends` Keyword in TypeScript
    04:01:28 📁 Database Interface and Generic Constraints
    04:02:45 🎓 Selling Courses and Quizzes: Class Types in Generics
    04:05:51 🛍️ Generic Class for Handling Products
    04:07:12 📘 Business Case Logic vs Traditional Problems/Solutions
    04:09:32 🚧 Cautionary Tales in TypeScript
    04:14:26 📚 Understanding Type Guards
    04:17:09 🔍 Advanced Type Narrowing Techniques
    04:22:16 📉 More on Type Narrowing
    04:22:45 🎯 Narrowing TypeScript Types
    04:25:27 🐟 Using Type Predicates in TypeScript
    04:29:33 🔄 Type Coercion and Identification
    04:30:56 📄 Documentation-Based Learning
    04:31:50 ⚙️ Tight Narrowing - Final Steps
    04:37:10 🔄 Never Type & Exhaustive Checks
    04:39:39 📚 Advanced TypeScript Concepts
    04:42:55 🏁 Concluding the TypeScript Series
    Made with HARPA AI

    • @shanisa49141
      @shanisa49141 7 หลายเดือนก่อน +3

      respect for creating this. respect++ for mentioning the AI you used

  • @alphadnu
    @alphadnu ปีที่แล้ว +45

    Yes! We can push elements to read-only properties having type array; because arrays are not explicitly represented, but only by their memory address. So, technically we are not changing the memory address of array by pushing elements inside it, and READONLY still validates upon the address of the array.

    • @mashoodmemon6987
      @mashoodmemon6987 3 หลายเดือนก่อน +2

      it's not true anymore, i just tried

    • @muneebwaqas400
      @muneebwaqas400 หลายเดือนก่อน +1

      its not true I have tried ans ts is allowing me to do it

  • @Galing28
    @Galing28 10 หลายเดือนก่อน +4

    my timestamps:
    2:24:03 (thursday/wednesday)
    3:15:25 (friday)
    3:19:36 (saturday)
    4:07:16 (sunday)
    FINISHED! (monday)
    hope you guys can do it too :) good luck!

  • @gulraizcodes
    @gulraizcodes 2 ปีที่แล้ว +60

    Damn. Back in the days when I was learning coding I learned alot of Hitesh. Thank you very much for the helpful content. Time to learn TypeScript from this chad again. ✨

  • @Viralvlogvideos
    @Viralvlogvideos 2 ปีที่แล้ว +163

    Hitesh Choudhary is one of my favorite teachers who makes complex topics into simple. Great to see Hitesh here 😃

    • @aarooral7997
      @aarooral7997 2 ปีที่แล้ว

      Finally i found you 😂😂 you are so famous Yarr 😂😂

    • @Viralvlogvideos
      @Viralvlogvideos 2 ปีที่แล้ว +3

      @@aarooral7997 how 🤔

    • @aarooral7997
      @aarooral7997 2 ปีที่แล้ว +1

      @@Viralvlogvideos i know you from fsjs bro

    • @thefreemonk6938
      @thefreemonk6938 6 หลายเดือนก่อน

      @@aarooral7997 What's fsjs?

  • @The1stKing
    @The1stKing 2 ปีที่แล้ว +15

    1:36:38 yes, we could manipulate with it (do .push() or change the value of certain elements) but we cannot replace that array with another array.

    • @rnsanyo
      @rnsanyo 2 ปีที่แล้ว +2

      does "const" have to do with that?

    • @The1stKing
      @The1stKing 2 ปีที่แล้ว +3

      @@rnsanyo I am not sure about the background logic (how TS works behind the curtain) but "readonly property" behaves exactly like a "const" does.

    • @datcong464
      @datcong464 ปีที่แล้ว +2

      In JS, the array type (object type) is the reference type. This means that the variable store the reference (address) of the array or object instead of its value. So when you manipulate an array or object, the variable doesn't change because it always equals the address of the array in memory. Const and "readonly property" only ensure that variables do not change

    • @shubham_v
      @shubham_v ปีที่แล้ว +2

      I think you were going to destroy world

  • @haseebsheikh6101
    @haseebsheikh6101 2 ปีที่แล้ว +36

    I recently finished a Typescript course and wanted to thank the instructor for such an informative and helpful tutorial. As a beginner, I was able to easily follow along and understand the concepts thanks to the clear explanations and examples provided. I feel much more confident in my ability to use Typescript in my projects now. Thank you for your hard work and for sharing your knowledge with others!

    • @nitilpoddar
      @nitilpoddar ปีที่แล้ว

      were you able to get some jobe or internship after this?

    • @unuefeejovwoke6609
      @unuefeejovwoke6609 ปีที่แล้ว

      Did you learn JavaScript first?

    • @haseebsheikh6101
      @haseebsheikh6101 ปีที่แล้ว

      @@nitilpoddar to be honest i haven't applied for any typsecript related job but this video helped m in my current company as our projects are shifting to adonis framework which uses typescript

    • @haseebsheikh6101
      @haseebsheikh6101 ปีที่แล้ว

      @@unuefeejovwoke6609 yes

    • @unuefeejovwoke6609
      @unuefeejovwoke6609 ปีที่แล้ว

      @@haseebsheikh6101 so can't I learn without knowing much on JavaScript? I'm a python developer and wanna learn typescript

  • @colinmarshall6634
    @colinmarshall6634 ปีที่แล้ว +166

    I learned JS as my first language and C# as my 2nd. TS is basically a combination of the two, and in a good way. Great series and you're an awesome teacher Hitesh!

    • @davinder95
      @davinder95 ปีที่แล้ว +4

      u are ryt bro

    • @manoyal
      @manoyal ปีที่แล้ว +2

      What is Ienumerator equivalent in typescript.. I used it alot in my unity games

    • @teodor-valentinmaxim8204
      @teodor-valentinmaxim8204 ปีที่แล้ว +2

      I mean, yeah, writing "Hello, World!" is pretty much the same

    • @serg1778
      @serg1778 ปีที่แล้ว +4

      Lol,I think you don't know C#,otherwise you wouldn't say that

    • @gabrielgitonga1252
      @gabrielgitonga1252 ปีที่แล้ว

      He is a great teacher indeed

  • @jamesmou9180
    @jamesmou9180 ปีที่แล้ว +4

    One of the best comprehensive tutorials I have watched in TH-cam!

  • @zlsj861
    @zlsj861 10 หลายเดือนก่อน +2

    🎯Course outline for quick navigation:
    [00:00-21:43]1. Typescript and its importance
    -[10:40-11:09]Typescript allows transpiling typescript code into javascript for building components like react, using .tsx extension.
    -[15:04-15:40]Typescript is a development tool dependent on javascript. setting up an environment to write typescript will be covered in the next video.
    -[17:00-17:58]Focus on core system wide typescript installation and project configuration for better code production.
    -[20:22-20:52]Installed typescript using sudo command, quick and simple process.
    [21:43-46:57]2. Typescript in vs code and its basics
    -[27:24-27:53]Hitesh introduces typescript series, starts slow, picks up pace later.
    -[37:47-38:14]Collaborators can benefit from safety features in code, preventing errors like 'property touppercase does not exist on type number'.
    -[39:18-39:51]Vaish introduces a new video on typescript series, focusing on best practices and covering numbers, booleans, strings, and type inference.
    -[41:46-42:12]Javascript has limited number-related methods, like toexponential and tolocalestring.
    -[44:48-45:15]Using typescript for better code, it detects and prevents errors, ensuring type safety.
    -[46:26-46:57]Tutorial on typescript, emphasizing colons and types, urging 70 non-subscribers to subscribe.
    [46:57-01:01:02]3. Typescript best practices
    -[57:40-58:10]During user sign up, name, email, and password are requested, but they are marked as 'any' type.
    -[01:00:16-01:00:51]Discussing passing default values for email and paid in a simple string and boolean format, without encountering any complaints.
    [01:01:02-01:14:52]4. Typescript syntax, benefits, and functions overview
    -[01:03:16-01:03:44]Typescript emphasizes philosophy of type usage, enhancing javascript.
    -[01:03:47-01:04:14]Returning 'hello' instead of a number, a concern for team collaboration.
    -[01:06:43-01:07:11]Introduction to handling multiple return types in typescript, using union types, to be discussed in a separate video.
    [01:14:52-01:53:31]5. Understanding typescript fundamentals
    -[01:27:47-01:28:22]Creating a simple function to define and enforce user data types in typescript.
    -[01:31:30-01:31:56]Simplify function definitions to avoid lengthy and complex code.
    -[01:38:21-01:38:46]Working on typescript config to stop producing code. mention of credit cards.
    [01:53:32-02:14:12]6. Typescript union, literal types, and tuples
    -[01:55:22-01:55:51]Typescript allows using multiple types of data, such as 334, without causing errors, making it really useful.
    -[01:59:26-01:59:54]The code is being checked for lower case and string verification at line number 30.
    -[02:05:20-02:05:53]Tuples in typescript are useful but with limitations. caution advised based on stack overflow thread.
    -[02:07:29-02:07:58]Converting data into a tuple, including string, number, and boolean types.
    -[02:13:04-02:13:51]In a javascript article on stack overflow, a user discusses issues with typescript array push method not handling tuple type arrays, which was posted a year and 11 months ago.
    [02:14:13-02:38:48]7. Typescript enums, interfaces, and methods
    -[02:15:24-02:15:52]Enums restrict choices in e-commerce orders, e.g., wish list, delivered, shipped, returned.
    -[02:27:49-02:28:17]Read-only fields, like a db id, should be numbers, not optional, and filled in. the advantage is similar to past studies.
    -[02:29:21-02:29:50]Method must be compulsory and return a string, such as 'trial started.'
    -[02:34:43-02:35:16]Integrating a library from github can require adding missing interfaces and files.
    -[02:35:39-02:36:08]Adding a github token as a string property and accessing functionality through declared variable or constant is a typescript feature loved by many.
    -[02:36:33-02:36:58]Using 'extends' keyword to inherit properties and defining roles for admin.
    -[02:37:35-02:38:03]Using interfaces in typescript allows for easy extension and inheritance, but caution is needed to avoid conflicts with installed packages or libraries.
    [02:38:49-02:53:12]8. Typescript basics, production setup, and node project
    -[02:40:21-02:48:59]Creating and configuring a typescript project for production, including typescript compiler and output directory setup.
    -[02:51:45-02:52:11]Set up lite server in package.json and enable watch mode for typescript changes.
    -[02:52:28-02:52:56]Using 'live server' for web development rather than a light server, as it is more efficient and requires no additional packages.
    [02:53:12-03:13:03]9. Typescript classes and setup
    -[02:53:51-02:54:17]Late night video session discussing setting up a typescript server for file generation and production-grade server for writing typescript.
    -[03:06:53-03:07:24]Choosing to make all items public, reflecting syntactic sugar in professional coding practices.
    -[03:07:50-03:08:22]Introduction to getters and setters in javascript, discussing private methods and syntax.
    -[03:08:42-03:09:14]Using getters and setters to access and manipulate data in software development.
    [03:13:03-03:26:37]10. Typescript classes, interfaces, and usage
    -[03:15:28-03:15:55]Access modifiers in programming restrict property access.
    -[03:21:25-03:21:54]The interface will include additional properties such as a filter and photo burst mode. it will be the basis for the entire application.
    [03:26:37-04:08:23]11. Typescript abstract classes and generics
    -[03:31:56-03:34:49]Creating an advanced class with properties, implementing abstract methods, and utilizing typescript features.
    -[03:43:04-03:43:28]Defining specific data types and return values, including 'any' type.
    -[03:48:32-03:49:01]Learning to use arrow functions in typescript, exploring documentation examples.
    -[03:49:23-03:49:55]The video discusses defining arrays with possible cases and confusion in building them.
    -[04:00:07-04:00:32]Function expects numeric values, but problem arises with strings.
    [04:08:23-04:46:24]12. Typescript type narrowing and discriminated unions
    -[04:27:42-04:28:07]Code involves checking if a method is not undefined, then returning pet as a fish.
    -[04:36:12-04:36:38]Creating a function to determine true shape from circle or square.
    -[04:38:40-04:39:15]Code review with exhaustive check, only two cases.
    -[04:39:27-04:39:52]New payment status 'authorized' introduced, alongside 'captured' and 'refunded'.
    -[04:45:58-04:46:21]Encouraging support for sharing and enjoying the series.
    offered by Coursnap

  • @shashanksams
    @shashanksams 2 ปีที่แล้ว +13

    I've been thinking about learning it since many weeks and you guys released it at the right time 😍

  • @zrotrasukha8733
    @zrotrasukha8733 หลายเดือนก่อน

    1:36:37 yes we can push it because typescript perceives read-only as editable or modifiable but not re-assignable, like we are not able to do something User._id = ["new.id'], since we are allowed to change the value but we can make changes to preexisting value.

  • @The1stKing
    @The1stKing 2 ปีที่แล้ว +12

    2:07:29 put the cursor on the row you want to duplicate and simply press ALT + SHIFT + ARROW DOWN (Windows users) to make a copy of that row.

    • @charliecoppinger
      @charliecoppinger 2 ปีที่แล้ว +1

      This is a wicked shortcut, thank you John

  • @Asadullahabbasi-mi6cq
    @Asadullahabbasi-mi6cq 2 หลายเดือนก่อน +1

    02:13:04 In TypeScript tuples, the length is not strictly enforced after the tuple is created, but the types of the elements are still checked.

  • @shamimara5161
    @shamimara5161 ปีที่แล้ว +31

    The flow of the tutorial was really great. Each topic is discussed very appropriately. And the approach to make the people read documentation is splendid and seen for the first time any instructor emphasizing upon it.
    Looking forward to a similar comprehensive course on Next.js and prerequisite for it from the same instructor if possible.

  • @TenzDelek
    @TenzDelek 9 หลายเดือนก่อน +1

    one of the best instructor out there, props to hitesh sir, his js series was exceptionally good

  • @abhisheksoni1522
    @abhisheksoni1522 ปีที่แล้ว +3

    1:36:42 yes, it allows pushing value to a readonly variable of type an Array.

  • @boredsherbet
    @boredsherbet 11 หลายเดือนก่อน +1

    just finished. good course. he's a great teacher. now im gonna go do a bigger tutorial that uses this stuff.

  • @brotto001
    @brotto001 2 ปีที่แล้ว +14

    I wasn't even intending to learn this, but i was literally sucked into it! Good flow!

  • @nirajthakur3794
    @nirajthakur3794 7 หลายเดือนก่อน

    1:36:34 -> Yes, we can push values to id if it is an array and if id is read only.
    enum for enumerate.

  • @jack_of_all
    @jack_of_all 2 ปีที่แล้ว +42

    Hitesh is one of my favourite instructors on the internet, it's a great feeling to see him on this channel

  • @praveshgupta1993
    @praveshgupta1993 2 ปีที่แล้ว +1

    I was wanting to start learning typescript. Randomly I started today anyway and from google then freecode got over there and started with the course. 1/3rd is done. Great until now and will resume. I noticed that this was uploaded just a day ago so I believe my luck wanted me to wait so that I can learn from you. Thanks

  • @paulyaokudaya3437
    @paulyaokudaya3437 ปีที่แล้ว +3

    I was having difficulty grasping the basics from other sites. I am glad to have stumbled upon this. Super progressive explanations

  • @andrewbenyeogor5534
    @andrewbenyeogor5534 17 วันที่ผ่านมา

    Awesome tutorials, amazing teacher...this is probably the first time ill be watching a 2 hour + tutorial on youtube

  • @n-logn
    @n-logn 6 หลายเดือนก่อน

    Just right now i am at 4:42:56 and i am getting a very positive feeling i have learn a lot from this video , words cannot describe how great learning experience was .
    Thank you very much sir

  • @jeromemanceau4263
    @jeromemanceau4263 2 ปีที่แล้ว +14

    Thank you so much Hitesh! Amazing tutorial, to the point, as it should be! 👏👏

  • @connorskudlarek8598
    @connorskudlarek8598 ปีที่แล้ว

    For 43:30, keep in mind that there ARE cases where type inference is bad and you'll want to be type explicit. One such case is when the code gets complex enough that to figure out what type it should be requires hunting through multiple files, in this case explicitly typing is a good idea to prevent a change many files away from breaking your code (without throwing error at compilation).
    There are other cases, too. So it is generally preferred, but not required, to avoid explicit typing. You will usually know when that is the case.

  • @jonnicholson1638
    @jonnicholson1638 ปีที่แล้ว +8

    This was an amazing tutorial - really enjoyed it from start to finish. Thanks Hitesh!

  • @vaishalinaruka8230
    @vaishalinaruka8230 9 หลายเดือนก่อน +1

    This is an amazing tutorial. If you are a beginner then you can undoubtedly go for this tutoroial.

  • @burhanuddinlokhandwala5871
    @burhanuddinlokhandwala5871 ปีที่แล้ว +19

    Thank you @Hitesh for creating a very easy-to-understand course. This is the 1st time I have seen approx 5 hours video tutorial and have not skipped a single part. This was on my todo watchlist for a very long time.

  • @SudhansuSatyam
    @SudhansuSatyam ปีที่แล้ว

    1:36:00-> we should be able to add value even if it is readonly.the readonly modifier only applies to the variable itself, not its internal properties

  • @MsSharayu
    @MsSharayu ปีที่แล้ว +3

    Finished the whole series. It is really great. Thanks Hitesh!

    • @samsonferrence1
      @samsonferrence1 6 หลายเดือนก่อน

      mam does this series have switch

  • @tomiekk6255
    @tomiekk6255 6 หลายเดือนก่อน +2

    if someone was struggling with it - seems like in newer versions of typescript it might be crucial to define the argument name when trying to annotate types for a function object argument input:
    example:
    function createUser(user: {name: string, email: string, isPaid: boolean})
    instead of:
    function createUser({name: string, email: string, isPaid: boolean})
    at least what I got when trying to follow along - the code editor and it's typescript checker seemed to treat the latter definition as if I was destructuring the argument, not type-annotating it.

  • @lakshyarajdash
    @lakshyarajdash 2 ปีที่แล้ว +20

    Hey i know this guy and I follow his channel also. He explains things greatly. Thanks for featuring him in the ts course.

    • @noname-qn1lf
      @noname-qn1lf 2 ปีที่แล้ว +1

      What's his channel?

    • @noname-qn1lf
      @noname-qn1lf 2 ปีที่แล้ว +2

      ok its in description box. Hitesh Chaudhary

    • @HiteshCodeLab
      @HiteshCodeLab 2 ปีที่แล้ว +1

      Thanks

    • @lakshyarajdash
      @lakshyarajdash 2 ปีที่แล้ว

      @@HiteshCodeLab please make a video on how to make photo album using nextjs and strapi...

  • @shoaibhasan4026
    @shoaibhasan4026 11 หลายเดือนก่อน +2

    Chai aur Code ❤ . Exceptional mentor 🙌

  • @ShubhamVsCode
    @ShubhamVsCode 2 ปีที่แล้ว +6

    Hitesh Sir on freeCodeCamp rocking 😍😍🔥🔥🔥🔥

  • @saieswarreddymenakuru4739
    @saieswarreddymenakuru4739 2 หลายเดือนก่อน

    Just now I finished the course.. I believe that I am now familiar with typescript syntax. Thank you hitesh for this amazing course. Keep up the good work 😊

  • @spycake0019
    @spycake0019 ปีที่แล้ว +28

    bro please bring more indian teachers, they are so clear and accurate

    • @wovasteengova
      @wovasteengova ปีที่แล้ว +2

      are u tryna be funny?

    • @colinmarshall6634
      @colinmarshall6634 ปีที่แล้ว +12

      @@wovasteengova nah they really are the best once you get used to the accent

    • @Android-17
      @Android-17 ปีที่แล้ว

      True!

  • @AnkushKumar-ot5iq
    @AnkushKumar-ot5iq 6 หลายเดือนก่อน

    1:36:36 Yes, we can push and pop because it only prevents overwriting the value

  • @nijinnazar2160
    @nijinnazar2160 ปีที่แล้ว +3

    2:12:55 I think now TS have introduced that ability for the tuple to restrict pushing or changing the value of array using index to any other type of value than specified. I am currently using v5.1.6

    • @brian9790
      @brian9790 ปีที่แล้ว +2

      check. it throws an error now. seems like it got fixed now. no push of different types possible anymore

    • @nijinnazar2160
      @nijinnazar2160 ปีที่แล้ว

      @@brian9790 Yess.

    • @wololoooxd3288
      @wololoooxd3288 ปีที่แล้ว

      still working for me at v5.1.6

  • @stocksandbeyond
    @stocksandbeyond ปีที่แล้ว

    i have completed this series today within 4-5 days and gained lot of knowledge required to get start with typescript thanks hitesh sir for the helpful knowledge it was a great run

  • @beeeeeee42333
    @beeeeeee42333 2 ปีที่แล้ว +13

    hiyteshy chowdary , ok 😆 , This is what i needed 😊😊

  • @pineapplejuice9814
    @pineapplejuice9814 5 หลายเดือนก่อน

    at 4:30:56 , boolean is returned - and not a type . The boolean value informs the TS type system that if true - pet is of type Fish else if False then pet is of Type Bird . So it merely informs - but what is being returned is boolean indeed.

  • @ToixActic5131
    @ToixActic5131 2 ปีที่แล้ว +6

    wow.. never thought this would happen but you guys did it... thanks alot... Indeed Hitesh is a great tutor.

  • @anshumansharma4509
    @anshumansharma4509 2 ปีที่แล้ว +1

    I was actually looking for a typescript tutorial since 2 days. Started many but then saw your post on Linkedin.
    I hope it will be a good one. Starting now

  • @bernardobalixa4993
    @bernardobalixa4993 2 ปีที่แล้ว +10

    Really good tutorial. Very precise and educational.

  • @Mrviveksidher
    @Mrviveksidher ปีที่แล้ว

    Thanks!

  • @FaizKhan-ep7fo
    @FaizKhan-ep7fo 2 ปีที่แล้ว +20

    pro level as always in teaching and in video quality also🔥

    • @HiteshCodeLab
      @HiteshCodeLab 2 ปีที่แล้ว +2

      Quality is number 1 priority

  • @mrshyspy
    @mrshyspy 10 หลายเดือนก่อน

    ⭐ Contents ⭐
    ⌨ (0:00:00) Why to learn TypeScript
    ⌨ (0:07:08) TypeScript is not what you think
    ⌨ (0:15:25) How to install TypeScript
    ⌨ (0:27:33) Your first intro to TypeScript docs
    ⌨ (0:39:21) Number, boolean, and type inference
    ⌨ (0:39:21) Number, boolean, and type inference
    ⌨ (0:46:52) Don't use ANY
    ⌨ (0:51:30) Do you really know functions
    ⌨ (1:02:55) A better way to write function
    ⌨ (1:15:38) Bad behavior of objects
    ⌨ (1:25:14) Type Aliases
    ⌨ (1:32:28) READONLY and optional
    ⌨ (1:42:13) Array
    ⌨ (1:50:03) Union Types in TS
    ⌨ (2:04:46) Tuples
    ⌨ (2:14:33) Enums
    ⌨ (2:24:03) interface
    ⌨ (2:33:52) Interface vs Type
    ⌨ (2:39:08) How to setup Typescript for real projects
    ⌨ (2:53:44) Classes
    ⌨ (3:02:06) Private Public
    ⌨ (3:08:12) Getters and Setters
    ⌨ (3:15:25) Protected
    ⌨ (3:19:34) Why Interface is important
    ⌨ (3:26:05) Abstract class
    ⌨ (3:35:36) Generics
    ⌨ (3:47:58) Generics in Array and Arrow functions
    ⌨ (3:56:07) Generic Classes
    ⌨ (4:07:16) Type Narrowing
    ⌨ (4:17:04) The in operator narrowing
    ⌨ (4:22:17) Instanceof and Type Predicates
    ⌨ (4:31:35) Discriminated Union and Exhaustiveness Checking with never
    ⌨ (4:42:54) TypeScript End

  • @e-genieclimatique
    @e-genieclimatique 2 ปีที่แล้ว +29

    a project with TypeScript + React + ReduxToolkit that would be a good tutorial

    • @martapfahl940
      @martapfahl940 2 ปีที่แล้ว

      @@manofsteelind So after this tutorial you say I will not know typescript fully?

    • @martapfahl940
      @martapfahl940 2 ปีที่แล้ว

      @@manofsteelind You become a typescript expert by writing apps, if I am writing my apps with react, so how should I become expert then?

    • @paritoshchauhan3266
      @paritoshchauhan3266 6 หลายเดือนก่อน

      @@martapfahl940 you can use TS instead of JS in your react app for TS practice

  • @prashantmestry8199
    @prashantmestry8199 ปีที่แล้ว +1

    Your method of teaching is good. Handling and clearing small small concept also. Thank you

  • @Sandeep-zd6dq
    @Sandeep-zd6dq 2 ปีที่แล้ว +18

    When it comes to high quality tutorials, Hitesh is always on top in my list 🔥😎🙌

  • @rajithasanjayamal2823
    @rajithasanjayamal2823 ปีที่แล้ว

    This is the best video for who are searching to learn Typescript. Hitesh is great teacher.

  • @harika218
    @harika218 2 ปีที่แล้ว +18

    Typescript types : string, number, boolean, array , null ,undefined , any noImplicitAny, object, union

  • @fadygamilmahrousmasoud5863
    @fadygamilmahrousmasoud5863 2 ปีที่แล้ว +2

    one of the most amazing tutorials about TS, Thank you Hitesh.

  • @gamermistri9274
    @gamermistri9274 ปีที่แล้ว +23

    TYPESCRIPT is looking too much easier then HTML because of Hitesh's Explaining skills ! Just Wow.
    This is for you Hitesh -♥️

  • @jcarlo9607
    @jcarlo9607 2 ปีที่แล้ว +8

    I swear this is the best tutorial of TYPESCRIPT i've ever seen.
    I've got 2 udemy popular courses on UDEMY, but this is far more understandable and straight to the point explanation.
    thank you @hitesh

  • @debgandharghosh3981
    @debgandharghosh3981 7 หลายเดือนก่อน +1

    1. The primitives
    a. string
    b. number
    c. boolean
    d. bigint
    e. symbol
    2. Arrays
    3. Any
    - noImplicitAny
    4. Object
    5. Union
    6. Interface
    7. Literal
    8. null
    9. undefined
    10. Enum

  • @ananthukrishnan313
    @ananthukrishnan313 2 ปีที่แล้ว +4

    This video about Typescript was awesome 😍 and I learned new stuff with this. Can you make a video for Node Express with Typescript and MongoDb ☺.

  • @fnrr2k3
    @fnrr2k3 2 หลายเดือนก่อน

    2:14:29
    looks like if you make the type readonly like
    ` type User = readonly [number, string] ` OR `const newUser: ReadOnly
    then it will hint you with a type error when you try the .push() method

  • @ramanarc
    @ramanarc ปีที่แล้ว +11

    Hitesh is a great teacher man! Love his calm composure and ability to explain complex concepts simply

  • @mohitaggarwal4029
    @mohitaggarwal4029 7 หลายเดือนก่อน

    Completed the series. Now, ready to use Typescript. Thank you Hitesh bhaiya

  • @thedevnoteyt
    @thedevnoteyt 2 ปีที่แล้ว +5

    And the legend is here guys 🙌.
    He's one of the best teachers on the internet 🔥. You're going to love this tutorial

  • @ALIHAMZAAKRAM-oe2su
    @ALIHAMZAAKRAM-oe2su 11 หลายเดือนก่อน +1

    great course and their is some mistake at 1:01:53 where
    check if(isPaid === void 0)

  • @VishalSharma-rn7mt
    @VishalSharma-rn7mt 2 ปีที่แล้ว +3

    Hitesh Sir always rock with his awesome quality tutorial.
    Thank you so much for making this series.

  • @pankajthapaliya2336
    @pankajthapaliya2336 ปีที่แล้ว +1

    Hitesh is real gem. The quality of content is real gold.

  • @niikhiilsurani
    @niikhiilsurani ปีที่แล้ว +2

    Hi Hitesh,
    Thanks a lot for your contribution and I appreciate it.
    if id would be an array, can we push values to the array in the case of READONLY?
    Answer: Yes. it allows push and pop operations.
    type testId = {
    readonly _id: Array
    name: string
    }
    let testIdOne: testId = {
    _id: [1, 2, 3],
    name: "ns"
    }
    testIdOne._id.push(4);
    testIdOne._id.push(5);
    console.log("result->", testIdOne);
    "result->", {
    "_id": [
    1,
    2,
    3,
    4,
    5
    ],
    "name": "ns"
    }

  • @РамильЗарипов-ь5й
    @РамильЗарипов-ь5й 2 ปีที่แล้ว +4

    Thanks and I subscribed, Hitesh. Great work!

  • @holaclaris
    @holaclaris 9 หลายเดือนก่อน

    Beautifully explained, Hitesh, thank you so much. As a beginner I find so useful to be able to learn not only theory but also how it actually works in practice and most common mistakes we can make. This was amazing! 👏👏👏👏👏

  • @olukayodeshokunbi3815
    @olukayodeshokunbi3815 2 ปีที่แล้ว +3

    Well thought out & taught tutorial. I love the way you went through the documentation in tandem.
    Thanks for the hard work you put into it.

  • @vimalkumar-zz6pn
    @vimalkumar-zz6pn 2 ปีที่แล้ว +1

    अरे ये तो अपना भाई है ❤️🔥

  • @TrxsTer
    @TrxsTer 7 หลายเดือนก่อน

    Completed the entire video and I am very thankful to the instructor for covering the topics with good instructions and examples. Loved it and can't wait to implement typescript on some projects, Cheers 🥂👩‍💻

  • @adsick_ua
    @adsick_ua ปีที่แล้ว +7

    TypeScript is more Java than JavaScript

  • @adityamishra9149
    @adityamishra9149 6 หลายเดือนก่อน +3

    Enum full name is Enumeration

  • @jayyap39
    @jayyap39 ปีที่แล้ว +1

    Completed!! Thanks Hitesh :)

  • @KanhaiyaSahu01
    @KanhaiyaSahu01 2 หลายเดือนก่อน +2

    how many of you are getting motorola ads too
    much .

    • @saieswarreddymenakuru4739
      @saieswarreddymenakuru4739 2 หลายเดือนก่อน

      the music is good though 😂😂

    • @KanhaiyaSahu01
      @KanhaiyaSahu01 2 หลายเดือนก่อน +1

      @@saieswarreddymenakuru4739 yupp 😂😂

  • @GautamThapa-xs6ns
    @GautamThapa-xs6ns 6 หลายเดือนก่อน

    For people struggling with the function definitions in case of object as parameters, it should have been like below:
    function createUser({ name, isPaid }: { name: string; isPaid: Boolean }) {return {name: "Gautam", isPaid: true}};

  • @smith0010
    @smith0010 2 ปีที่แล้ว +12

    my life is totally changed 😊. I've been earning $10,250 returns from my $4,000 Investment every 13 days

    • @leonardmorris6798
      @leonardmorris6798 2 ปีที่แล้ว +6

      I've traded with a lot of individuals but
      have never come across anyone as good as
      Mrs Walls , just by applying his
      new strategies I now trade independently. He's the best I can advise any novice investing to trade with him

    • @chukswayne495
      @chukswayne495 2 ปีที่แล้ว +7

      wow .. Amazing to see others trading with Mr Walls , i am currently on my fifth trade with him and my portfolio has grown tremendously

    • @micahll5684
      @micahll5684 2 ปีที่แล้ว +6

      I heard a lot about Mr Walls and how good he is, please how safe are his profits?

    • @leonardmorris6798
      @leonardmorris6798 2 ปีที่แล้ว +5

      @@micahll5684 I trade with him, The profit are secured and over a 100% return on investment directly sent to your wallet.

    • @greatisrael6461
      @greatisrael6461 2 ปีที่แล้ว +5

      I also trade with him, Big thanks to Mr Walls for what he did for my family and I 🙏🤗

  • @neetdemon
    @neetdemon ปีที่แล้ว

    I'm glad to say I finally finished this course. Thanks Hitesh :)

  • @RahulSharma-er3pf
    @RahulSharma-er3pf 6 หลายเดือนก่อน +1

    Thank you so much hitesh sir for the best tutorial of typescript.👏🙌

  • @mahdirafi6537
    @mahdirafi6537 ปีที่แล้ว

    There's no doubt this is the best one . Love from Bangladesh boss

  • @GoutamReddydazz
    @GoutamReddydazz 2 ปีที่แล้ว

    I used types script in ionic 3 in 2019 without knowing A-Z depth of type script. It's very beautiful ..

  • @shobhamahadev118
    @shobhamahadev118 ปีที่แล้ว +2

    Background looks good to me.. this video really seems protecting our eyes from brighter background 😊

  • @cristiano-ronaldo-ur-fans
    @cristiano-ronaldo-ur-fans ปีที่แล้ว +2

    The main difference between void and never is that
    void: even when we dont write explicit return in functions, it returns undefined by default. That's the default behaviour of javascript.
    never: would mean that you are doing something in function that will never let the "return" happen. Like throwing an error. Would mean that the default return undefined also wouldn't happen here.

  • @avirageorge6857
    @avirageorge6857 11 หลายเดือนก่อน

    Jan 3: 42:00
    Jan 5: 2:28:47
    Jan 10: 3:26:07

  • @amanchaudhary8494
    @amanchaudhary8494 4 วันที่ผ่านมา

    Finished the series. Thanks learnt a lot

  • @PrasanthN-p2d
    @PrasanthN-p2d ปีที่แล้ว +2

    You are an awesome teacher Hitesh Choudhary . Clear communication , well explained. first time looking at your learning series. very well explained on basics concepts . looking forward to learn from your tutorials.

  • @otabeksodikov2773
    @otabeksodikov2773 ปีที่แล้ว

    I learned typescript using these series. Thanks very much sir Hitesh

  • @srivishnu8983
    @srivishnu8983 2 ปีที่แล้ว +1

    Great Typescript series, easily learnt a lot from this tutorial. Thank you Hitesh Choudhary

  • @lord_yzal
    @lord_yzal ปีที่แล้ว +1

    Finally completed the tutorial. Thanks for the informative and awesome content.

  • @tessabloomx8660
    @tessabloomx8660 ปีที่แล้ว

    Finished the course finally.
    It was a great course
    Really cool

  • @prakashnaikwadi
    @prakashnaikwadi 2 ปีที่แล้ว +2

    One of the best instructor 💯🚀

  • @AnkurProjectShowcase
    @AnkurProjectShowcase 6 หลายเดือนก่อน

    at 1:36, yes we can push value in type of array even that array is readonly, we can not update whole array

  • @md.rakibulislam41
    @md.rakibulislam41 ปีที่แล้ว +1

    you are a genius brother, keep up it. And create videos for us.