-
-
- audience: who is this book for
- how to read this book
- special thanks
- technical editor
- the author
- what this book is about
- what this book is not
- debug
- comments
- operators
- parenthesis
- brackets
- references
- variables
- constants
- types
- invoke
- function declaration VS function expression
- named function expressions
- scope
- private and nested scope
- context
- global context
- method context
- invoking a function via call or apply
- explicit context
- arguments
- Array and generic collections iteration
- for loop
-
incremental
++operator - Array methods
- array.forEach(callback, context)
- array.map(callback, context) → newArray
- array.filter(callback, context) → newArray
- array.some(callback, context) → boolean
- array.every(callback, context) → boolean
- array.indexOf(value, fromIndex) → number
- prototype and prototypal inheritance
- genericA.isPrototypeOf(genericB) → boolean
- Object.prototype
- object.toString() → string
- native
- class
- constructor
- instance
- inheritance
- the in operator
- for/in loop
- enumerable
- object.propertyIsEnumerable(name) → boolean
- object.hasOwnProperty(name) → boolean
- shared properties
- getters and setters
- descriptors
- Object.defineProperty(obj, name, descriptor) → obj
- try catch finally
- which descriptor for what
- common property descriptor
- common class and native method descriptor
- common defensive method descriptor
- common lazy property descriptor
- Object.getOwnPropertyDescriptor(obj, name) → desc
- Object.defineProperties(obj, descriptors) → obj
- delete
- Object.getOwnPropertyNames(obj) → arrayOfAllNames
- Object.keys(obj) → arrayOfOwnEnumerableNames
- public and public static
- extends
- super
- implements
- interfaces
- trait and mixin
- if else switch and conditional logic
- conditional statement
- ternary operator
- switch statement
-
logical
||operator -
logical
&&operator - truthy and falsy values
- antipattern
- DOM
- tree
- Web IDL
- EventTarget registration interface
- void
- DOMString
- EventListener
- EventListener using a function
- function bind
- Event
- browser events
- bubbling and capturing
- event.stopPropagation()
- event.preventDefault()
- CustomEvent
- EventEmitter
- signature
- parameters
- node.js events
- WeakMap
- Symbol
- primitives
- Object.getOwnPropertySymbols(obj) → arrayOfSymbols
- shared Symbols
- special Symbols
- for/of loop
- fat arrow
- generator
- yield
- generator.next(value) → {done:boolean, value:any}
- generator.throw(error)
- Promises
- promise.then(resolved, rejected) → newPromise
- promise.then(resolved).catch(anyError) → newPromise
- promise.then(fn).then(fn).then(fn) → newPromise
- Promise.all(arrayOfPromises) → newPromise
- Promise.resolve(value) → newPromise
- Generators and Promises
- Timers
- setTimeout(fn, delay, arg1, arg2, argN) → timerIdentifier
- clearTimeout(timerIidentifier)
- setInterval(fn, delay, arg1, arg2, argN) → timerIdentifier
- clearInterval(timerIdentifier)
- requestAnimationFrame(fn) → rafIdentifier
- process.nextTick(fn)
- requestIdleCallback(fn, waitExpiresIn) → ricIdentifier
- template strings
- tagged template strings
- regular expression
- JSON
- Math
- parseInt(string, base) → integerNumber
- parseFloat(string) → floatNumber
-
-
Recent ECMAScript features
-
- let declaration
- rest parameters
- spread operator
- Map
- Set, and WeakSet
- Proxy
- destructuring
-
-
JavaScript F.A.Q. on demand
-
- Useful links
-
JavaScript glossary on demand
a mini guide to modern JavaScript programming through common terminology explanation
For absolute beginners or more advanced developers, this book explains the most common terms used in modern JavaScript programming, client or server side, through examples.
If you cannot understand technical articles, this book will explain each term.
If you are looking to refresh and update your knowledge about modern terminology, patterns, and their applications, this book will also help you.
Minimum price
$7.99
$9.99
You pay
$9.99Author earns
$7.99About
About the Book
Using an innovative and unusual approach in the programming field, this book could somehow be compared to a waterfall: it starts quietly, by describing simple basic terms, and then accelerates until it covers most modern features towards the end.
Rather than explaining every part of the JavaScript programming language by generic topics, this book approach is to explain technical words "on demand" when needed, in order to complete simple to complex tasks.
Being a compact book I recommend you do a quick read-through it first, and once completed, go back to any specific words, so that every term is clear, and every example understood.
Feedback
Author
About the Author
Andrea Giammarchi
With over 15 years of hands-on experience working in the field as a Senior Software Engineer, Andrea Giammarchi has been specializing as a full-stack Web and Mobile Web Developer.
Best practices, adoption of modern standards, and first class performance on every target machine are just some of the reasons Andrea has been working for top world-class companies and teams such as Twitter, Facebook and NOKIA, on both Desktop and mostly on Mobile production's websites.
Andrea has been for a long time an active World Wide Web and JavaScript community contributor. He has been providing and pioneering Open Source Software and solutions through his blog, advocating best practices and performance advices.
Andrea is also an active contributor in the ECMAScript mailing list, the place where the standard behind JavaScript is defined and discussed together with members of TC39, a place where he has influenced few recent language choices.
Contents
Table of Contents
Contributor
About the Contributors
Cinzia Giammarchi
Italian, English and Russian interpreter and translator, Cinzia helped me review the language and grammar of the book.
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Write and Publish on Leanpub
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.