You do not know about JavaScript Objects

Donkey Kong
Thursday 18 July, 15:00 - 15:45

JavaScript objects are complex. Perhaps you do not know enough about JavaScript objects. Let us find that in this live coding based talk
Perhaps you do not know enough about JavaScript objects or I do not know enough about JavaScript objects. Let us settle this debate in this talk. To start with, we will first settle debate on whether JavaScript is an Object Oriented Language or prototype based language. Since, we do not have class (yes in ECMA 6, there is a keyword class syntax introduced but that is not a real class anyway) then how objects are created?
Answer of all above questions lie in understanding of following concepts,
• Different ways of JavaScript object creation
• prototypes and prototype chain
• this keyword
• __proto__
This session will simplify these truly vital and the most important topics of JavaScript language. As a starter, JavaScript is a prototype based language in which object is linked by another object, and in order to do that it creates a prototype chain. Having a good understanding of prototype is required to write real JavaScript applications or to work effectively with popular JavaScript Frameworks.
This talk will be combination of live coding and visualization of concepts as drawing on the white board. At the end of the talk, you will have good understanding of following:
1. Different ways of creating JavaScript objects such as: Object Literals, Constructor invocation pattern ,Object.Create() method , and using class.
2. About object property descriptors
3. Determining value of ‘this’ using different invocation patterns
4. Breaking prototype, constructor, and __proto__
Having good understanding of above concept helps you to write better JavaScript application.

It is one of my most popular talk among developers in India. Does not matter where I have delivered it, It got good rating. We all just assume that we know JavaScript as a language, but most of the time, we do not. For example, if foo is a function in JavaScript then what is output of foo.prototype.constructor.prototype.constructor.prototype.__proto__ . Give your audience opportunity to learn mystery of JavaScript through this talk. I explain it on white board like we learnt quadratic equation n school math.

Mauritius Software Craftsmanship Community
Code of Conduct
Become a Sponsor
Team Community