Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Meditation Life Purpose Coaching Emotional Intelligence
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Data Cleaning
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 11.5 hours on-demand video
  • 7 articles
  • 50 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
Development Web Development JavaScript

JavaScript: Understanding the Weird Parts

An advanced JavaScript course for everyone! Scope, closures, prototypes, 'this', build your own framework, and more.
Rating: 4.7 out of 54.7 (40,388 ratings)
157,132 students
Created by Anthony Alicea
Last updated 9/2020
English
English, French [Auto], 
30-Day Money-Back Guarantee

What you'll learn

  • Grasp how Javascript works and it's fundamental concepts
  • Write solid, good Javascript code
  • Understand advanced concepts such as closures, prototypal inheritance, IIFEs, and much more.
  • Drastically improve your ability to debug problems in Javascript.
  • Avoid common pitfalls and mistakes other Javascript coders make
  • Understand the source code of popular Javascript frameworks
  • Build your own Javascript framework or library
Curated for the Udemy for Business collection

Course content

12 sections • 85 lectures • 11h 29m total length

  • Preview04:56
  • Setup
    03:27
  • Big Words and Javascript
    01:25
  • Watching this Course in High Definition
    00:50
  • Preview04:17

  • Preview07:35
  • Preview04:08
  • Preview00:33
  • Preview10:58
  • Preview09:43
  • Preview08:04
  • Preview02:54
  • Preview02:16
  • Preview08:06
  • Preview07:56
  • Preview17:25
  • Preview04:18
  • What About Asynchronous Callbacks?
    Preview10:26

  • Preview02:50
  • Preview05:17
  • Preview06:32
  • Preview14:14
  • Preview00:18
  • Preview06:14
  • Preview19:42
  • Preview00:18
  • Preview07:24
  • Preview07:51
  • Preview07:11

  • Objects and the Dot
    15:23
  • Objects and Object Literals
    10:32
  • Framework Aside: Faking Namespaces
    08:07
  • JSON and Object Literals
    07:17
  • Functions are Objects
    08:02
  • Function Statements and Function Expressions
    20:32
  • Conceptual Aside: By Value vs By Reference
    16:09
  • Objects, Functions, and 'this'
    21:26
  • Conceptual Aside: Arrays - Collections of Anything
    05:39
  • 'arguments' and spread
    12:00
  • Framework Aside: Function Overloading
    04:43
  • Conceptual Aside: Syntax Parsers
    02:25
  • Dangerous Aside: Automatic Semicolon Insertion
    05:46
  • Framework Aside: Whitespace
    04:25
  • Immediately Invoked Functions Expressions (IIFEs)
    17:07
  • Framework Aside: IIFEs and Safe Code
    08:05
  • Understanding Closures
    11:09
  • Understanding Closures - Part 2
    19:20
  • Framework Aside: Function Factories
    12:24
  • Closures and Callbacks
    08:26
  • call(), apply(), and bind()
    20:54
  • Functional Programming
    20:17
  • Functional Programming - Part 2
    08:05

  • Conceptual Aside: Classical vs Prototypal Inheritance
    05:11
  • Understanding the Prototype
    14:02
  • Everything is an Object (or a primitive)
    05:46
  • Reflection and Extend
    14:59

  • Function Constructors, 'new', and the History of Javascript
    15:53
  • Function Constructors and '.prototype'
    10:24
  • Dangerous Aside: 'new' and functions
    04:16
  • Conceptual Aside: Built-In Function Constructors
    10:32
  • Dangerous Aside: Built-In Function Constructors
    03:57
  • Dangerous Aside: Arrays and for..in
    03:16
  • Object.create and Pure Prototypal Inheritance
    12:37
  • ES6 and Classes
    06:27

  • Initialization
    05:41
  • 'typeof' , 'instanceof', and Figuring Out What Something Is
    06:41
  • Strict Mode
    05:51
  • Strict Mode Reference
    00:21

  • Learning From Other's Good Code
    03:51
  • Deep Dive into Source Code: jQuery - Part 1
    21:31
  • Deep Dive into Source Code: jQuery - Part 2
    15:38
  • Deep Dive into Source Code: jQuery - Part 3
    11:22

  • Requirements
    02:57
  • Structuring Safe Code
    03:07
  • Our Object and Its Prototype
    09:17
  • Properties and Chainable Methods
    16:58
  • Adding jQuery Support
    05:22
  • Good Commenting
    02:21
  • Let's Use Our Framework
    08:11
  • A Side Note
    00:32

  • TypeScript, ES6, and Transpiled Languages
    04:33
  • Transpiled Languages References
    00:38

Requirements

  • Basic Javascript knowledge (variables, loops, and basic functions - that's all the course expects you to know!)
  • A browser and text editor

Description

Javascript is the language that modern developers need to know, and know well. Truly knowing Javascript will get you a job, and enable you to build quality web and server applications.

NOTE: This course includes information on ECMAScript 6 (ES6) the next version of Javascript!

In this course you will gain a deep understanding of Javascript, learn how Javascript works under the hood, and how that knowledge helps you avoid common pitfalls and drastically improve your ability to debug problems. You will find clarity in the parts that others, even experienced coders, may find weird, odd, and at times incomprehensible. You'll learn the beauty and deceptive power of this language that is at the forefront of modern software development today.

This course will cover such advanced concepts as objects and object literals, function expressions, prototypical inheritance, functional programming, scope chains, function constructors (plus new ES6 features), immediately invoked function expressions (IIFEs), call, apply, bind, and more.

We'll take a deep dive into the source code of popular frameworks such as jQuery and Underscore to see how you can use your understanding of Javascript to learn (and borrow) from other's good code.

Finally, you'll learn the foundations of how to build your own Javascript framework or library.

What you'll learn in this course will make you a better Javascript developer, and improve your abilities in AngularJS, NodeJS, jQuery, React, Ember, MongoDB, and all other Javascript-based technologies!

Learn to love Javascript, and code in it well.

Note: In this course you'll also get downloadable source code. You will often be provided with 'starter' code, giving you the base for you to start writing your code, and 'finished' code to compare your code to.

Who this course is for:

  • Those with basic Javascript skills who wish to improve
  • Experienced coders coming from other programming languages
  • New and experienced Javascript coders who want to deepen their understanding of the language
  • Anyone who has found concepts just as object prototypes, closures, and other advanced concepts difficult to learn
  • Those who have suffered surprising errors while writing Javascript, and want to learn why and how to avoid them
  • Those interested in building their own frameworks, or being better able to learn from the source code of other well-known frameworks and libraries

Featured review

Denis S Dujota
Denis S Dujota
28 courses
7 reviews
Rating: 5.0 out of 5a year ago
Absolutely, F%$^& amazing. Single handedly blasted me out of orbit. Let me explain, I originally got this course along with other JS bootcamps on udemy. I did those first. Every time i looked at the course i thought, man.. no react, its mainly es5... is it really worth my time? I started by listening to the lectures only, and shortly into the course i realized just how valuable and insightful the knowledge here really is.

Instructor

Anthony Alicea
Software Developer, Architect, and UX Designer
Anthony Alicea
  • 4.6 Instructor Rating
  • 87,442 Reviews
  • 275,764 Students
  • 8 Courses

                    Newly married in Cleveland Ohio, Tony is primarily focused these days on trying to be a good husband. While inexperienced at that, he's quite experienced in all things web. 

                    Tony has been programming since he was 12 years old, and got into web sites and web application development at 16. After graduating with a Computer Science degree from Case Western Reserve University, Tony continued with that interest as a Microsoft certified software application developer and architect, database designer, and user interface designer. 

               His experience has ranged across technologies such as HTML5, CSS3, ASP .NET MVC, JavaScript, jQuery, KnockoutJS, AngularJS, NodeJS, LESS, Bootstrap, SQL, Entity Framework and more. 

                    He believes strongly that deeply understanding any topic allows you to properly learn it and, even more importantly in a real-world environment, quickly overcome problems. 

                    He also has a deep interest in human nature and behavior, and how that impacts human-computer interaction. This interest translated into extending his career into user experience design and usability research. 

                    Another link in the chain is his 25 years of experience in public speaking and teaching, both in front of large groups and as a one-on-one private instructor. 

                    Putting all these pieces together, he has spent his career listening to a client need, designing a database and software to meet that need, building it, testing it, teaching others how to use it, then improving user experience by watching people actually use it and adjusting accordingly. 

                    Tony loves teaching every aspect of what he does, and even more loves teaching in a way that imparts understanding, as opposed to just examples intended to be parroted. He loves that moment when a student 'gets it', and that's what he wants for you when you take one of his courses. 

             He has found that those that learn purely by example, and not by understanding, end up much more limited than they need to be. 

             "Examples need to be built on top of context, and once you have context, you can not only copy the examples you find, but adjust and improve upon them." 

  He firmly believes that everyone has the ability to develop software, if they are just taught properly. Including you. 

  "It is my pleasure and privilege to teach you. I hope you'll come away knowing something you didn't before, understanding at a level deeper than before, and feeling positive that you can accomplish what you've set out to accomplish. Thank you!" - Tony Alicea 

  Ask Tony a question, read a post, or follow him around internet. 

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.