Getting really good at JavaScript and TypeScript

Turn your average JavaScript skills into excellent JavaScript skills, and use the power of TypeScript to tame this beast
4.1 (18 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
182 students enrolled
$19
$20
5% off
Take This Course
  • Lectures 71
  • Length 3.5 hours
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2015 English

Course Description

You can’t avoid JavaScript, but you can avoid all the pain! This course turns your average JavaScript skills into great JavaScript skills, and makes you a champ at using TypeScript in a real project.

JavaScript, the only language that runs everywhere, a language with huge shortcomings, finicky behavior, and yet something we must master. TypeScript that removes all the pain of JavaScript, but only if you use it properly. This course takes your hacky JavaScript skills, and turns you into a real JavaScript pro. And from there, it teaches you practical TypeScript by demonstrating the fundamentals, and real world usage in a project.

What are the requirements?

  • Basic knowledge of JavaScript is required

What am I going to get from this course?

  • Write good and maintainable JavaScript
  • Architect large scale JavaScript applications
  • Learn Typescript
  • Use TypeScript effectively
  • Avoid common JavaScript mistakes

What is the target audience?

  • This course is for web developers who know JavaScript, but want to get really good at it.
  • This course is for JavaScript developers who wish to start using Typescript in their projects effectively.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introductions
03:43

A basic introduction to the course. Why I produced this course, who will benefit from it. Your background and prerequisites for this course. The overall outline and overview of the course, and an introduction to the instructor.

Section 2: JavaScript Problems
02:44

Why JavaScript is the way it is today!

03:16

Setting up our dev environment for the course

02:30

Globals are bad, but in JavaScript they are so easy to create

01:35

The standard technique for avoiding globals

01:10

Sometimes global variables can be quite sneaky. Be on guard.

00:56

Some best practices to catch common mistakes

03:53

Globals bite us again, in the most unexpected spots

00:43

Avoiding accidental creation of globals

01:17

ES6 enhancements, but we can't use them until ES6.

01:33

List of reserved keywords - too many to avoid reliably. So how do we avoid them?

03:27

Even careless semi colons can lead to errors

02:22

TypeOf operator isn't very good

00:42

Who knew numbers could be so unreliable

00:59

Difference between null or undefined, but sometimes they can be the same!

02:20

DataTypes behave in unexpected ways with different operators

01:28

Use parseInt to be safe, but there be landmines here!

00:31

Not a number, is a number? Apparently!

01:08
parseInt issues once again, be defensive, very defensive!
03:27

Comparison operators should be simple, right?

02:23

More unexpected operator behavior

00:53

A very common mistake, except there is no compiler to help out!

02:04

When a number isn't what you thought it was!

00:43

Bitwise can bite !

02:40

More number weirdness

02:15

You can do without with

06:12

Arrays so simple, yet so complex

02:40

Function unique weirdness in JavaScript.

06:28

Functions can also be scopes.

03:59

Hoisting while helpful can lead to errors

00:41

Content delivery network failures are your failures

00:54

Its not secure

04:40

When this isn't what you thought it was

02:03

.. and there are more issues.

Section 3: JavaScript best practices
14:46

JavaScript can be very error prone. But some best practices will keep you safe.

05:42

Over time there are coding conventions that are there for a reason. Stick with these because they are not only a standard, they will help you avoid silly mistakes

Section 4: TypeScript: An Introduction
03:25

So we know JavaScript. If we know JavaScript, we also know that it is a somewhat problematic language. A language that is very easy to make mistakes in. TypeScript is a wonderful way of writing JavaScript that avoids many of those problems. Lets dive into TypeScript, starting with introductions.

Section 5: What is TypeScript?
00:45

What is TypeScript, and why do we care?

01:01

How does TypeScript fit in with current web technologies?

03:06

The various important workflows and files involved.

Section 6: TypeScript Development Environment
03:29

The easy way to TypeScript, but not cross platform

16:24

Using Visual Studio code and Gulp to setup TypeScript

04:11

Save -> F5 -> Repeat, is a good workflow, but needs continous background compilation.

08:26

What good is a language you cannot debug? In this session we setup how to debug TypeScript.

Section 7: TypeScript in depth
02:23

TypeScript makes even plain JavaScript better

01:21

No TypeScript yet, and you are already seeing benefits

02:07

Catching silly errors early - even if you don't type TypeScript (yet)

01:43

Strong typing is good

01:38

So many HTML elements, intellisense would be nice

02:43

Intellisense and help text teach me as I work

05:13

ES6 and ES7 features will address the shortcomings of JavaScript, but we can't use them today, or can we? If you use TypeScript, you can use all these features without worrying about browser issues.

01:52

Intellisense becomes very important in larger projects.

05:29

Frequently we use third party libraries. It would be nice to get intellisense and help text for those third party libraries.

02:26

Using interfaces effectively to avoid errors.

04:23

Arrays can be a pain, but with TypeScript they are such a breeze to manage.

04:18

In JavaScript everything is a variable, even functions. Mix the power of TypeScript and you get constructs even C# can't do.

05:26

Sometimes we need static variables, only if JavaScript could do them elegantly.

02:48

Stay classy, and provide decent constructors where you need to, with TypeScript of course.

01:16

More classy stuff with functions, just like you'd do in any other OO language.

01:29

Inheritance can be so complex but with TypeScript it is so intuitive.

01:35

What interfaces give you in TypeScript

02:20

Mixing matching merging interfaces.

00:38

Providing encapsulation.

00:11

Super keyword helps you access base class properties and methods, and how it works.

01:29

More encapsultion with accessors

00:27

How statics work in a class in TypeScript

00:35

Use classes or interfaces interchangeably, and where they are not interchangeable.

03:28

Modularize your code to make it more manageable.

01:55

More features from the future, this time around ES6 features for functions.

01:43

Even mMore features from the future, this time around arrow functions, with this keyword benefits for free.

04:05

Generics are very powerful. Learn how to use them effectively.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Sahil Malik, Developer, Trainer, Consultant, Author

Sahil Malik is a developer and instructor who has been teaching developers for over 15 years and has worked in 17 countries and 5 continents. As an author of more than 20 books, recipient of the Microsoft MVP award for more than 10 years, and a consultant and trainer he knows how to make tough concepts easy to grasp and apply.

Sahil founded Winsmarts, LLC which provides consulting and training services on Web technologies such as JavaScript, Angular, ASP.NET, SharePoint, Office 365 and iOS. Sahil speaks at conferences around the world and writes columns for various technical magazines. Follow Sahil on twitter at @sahilmalik

Ready to start learning?
Take This Course