Getting really good at JavaScript and TypeScript
3.8 (24 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.
194 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Getting really good at JavaScript and TypeScript to your Wishlist.

Add to Wishlist

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
3.8 (24 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.
194 students enrolled
Created by Sahil Malik
Last updated 11/2015
English
Learn Fest Sale
Current price: $10 Original price: $20 Discount: 50% off
3 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 3.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Write good and maintainable JavaScript
  • Architect large scale JavaScript applications
  • Learn Typescript
  • Use TypeScript effectively
  • Avoid common JavaScript mistakes
View Curriculum
Requirements
  • Basic knowledge of JavaScript is required
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.

Who 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.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 71 Lectures Collapse All 71 Lectures 03:24:35
+
Introductions
1 Lecture 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.

Preview 03:43
+
JavaScript Problems
33 Lectures 01:14:36

Why JavaScript is the way it is today!

Preview 02:44

Setting up our dev environment for the course

Preview 03:16

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

Globals
02:30

The standard technique for avoiding globals

IIFE
01:35

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

Accidental Globals
01:10

Some best practices to catch common mistakes

Use Strict and JSLint
00:56

Globals bite us again, in the most unexpected spots

Accidental Globals and Loops
03:53

Avoiding accidental creation of globals

Avoiding accidental globals
00:43

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

ES6 and the let keyword
01:17

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

Reserved Keywords and avoiding them
01:33

Even careless semi colons can lead to errors

Semicolon Madness
03:27

TypeOf operator isn't very good

typeof Unreliability
02:22

Who knew numbers could be so unreliable

types of numbers
00:42

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

typeof null and undefined
00:59

DataTypes behave in unexpected ways with different operators

DataTypes and Operator related mistakes
02:20

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

parseInt mistakes
01:28

Not a number, is a number? Apparently!

NaN is a number
00:31

parseInt issues once again, be defensive, very defensive!
parseInt and radix confusion
01:08

Comparison operators should be simple, right?

Comparison Operator bugs
03:27

More unexpected operator behavior

+ and - operator issues
02:23

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

if and assignment related mistakes
00:53

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

Numbers can be inaccurate
02:04

Bitwise can bite !

Bitwise operators
00:43

More number weirdness

Number Precision Issues
02:40

You can do without with

With operator issues
02:15

Arrays so simple, yet so complex

Problems with Arrays
06:12

Function unique weirdness in JavaScript.

Function parameter issues
02:40

Functions can also be scopes.

Understanding scopes
06:28

Hoisting while helpful can lead to errors

Hoisting
03:59

Content delivery network failures are your failures

CDNs
00:41

Its not secure

Data secrecy in JavaScript
00:54

When this isn't what you thought it was

this keyword confusion
04:40

.. and there are more issues.

Other Misc Issues
02:03
+
JavaScript best practices
2 Lectures 20:28

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

Best Practices
14:46

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

Coding Conventions
05:42
+
TypeScript: An Introduction
1 Lecture 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.

Preview 03:25
+
What is TypeScript?
3 Lectures 04:52

What is TypeScript, and why do we care?

What is TypeScript
00:45

How does TypeScript fit in with current web technologies?

How TypeScript works
01:01

The various important workflows and files involved.

ts, js, sourcemaps and d.ts files
03:06
+
TypeScript Development Environment
4 Lectures 32:30

The easy way to TypeScript, but not cross platform

Using TypeScript in Visual Studio
03:29

Using Visual Studio code and Gulp to setup TypeScript

Setting up VS Code for TypeScript using Gulp
16:24

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

Continous compilation with watch
04:11

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

Debugging TypeScript
08:26
+
TypeScript in depth
27 Lectures 01:05:01

TypeScript makes even plain JavaScript better

Basic refactoring in plain JS
02:23

No TypeScript yet, and you are already seeing benefits

Parameter matching in functions in plain JS
01:21

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

Datatype checking in plain JS
02:07

Strong typing is good

Specifying data types in Typescript
01:43

So many HTML elements, intellisense would be nice

Intellisense and help for HTML elements
01:38

Intellisense and help text teach me as I work

Learn new HTML tricks with TypeScript
02:43

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.

Features from the future and browser compatibility
05:13

Intellisense becomes very important in larger projects.

Intellisense for code you write
01:52

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

Intellisense for code you didn't write
05:29

Using interfaces effectively to avoid errors.

Using interfaces to catch typos
02:26

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

Managing Arrays with Interfaces and Generics
04:23

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

Functions as DataTypes to catch errors
04:18

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

Understanding statics in TypeScript classes
05:26

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

Implementing constructors on classes
02:48

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

Adding functions to classes
01:16

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

Implementing inheritance in TypeScript
01:29

What interfaces give you in TypeScript

Understanding interfaces in TypeScript
01:35

Mixing matching merging interfaces.

Extending interfaces
02:20

Providing encapsulation.

Private properties in classes
00:38

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

The super keyword
00:11

More encapsultion with accessors

Accessors
01:29

How statics work in a class in TypeScript

Statics
00:27

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

Classes as interfaces
00:35

Modularize your code to make it more manageable.

Modules
03:28

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

Function parameter management using ES6 and TypeScript
01:55

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

Arrow Functions and this keyword
01:43

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

Using generics effectively
04:05
About the Instructor
Sahil Malik
4.2 Average rating
61 Reviews
1,510 Students
2 Courses
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