Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Alberto Montalesi

Rating No ratings yet

Whether you are a complete beginner or you have some knowledge in JavaScript, this book will guide you from the basics of the language to all the new features introduced until 2019. At the end of each chapter test your knowledge with quizzes.After reading this book, Let Const, generators, promises and async won't be a problem anymore.If you want to experience something new, this book also includes an introduction to the basics of TypeScript, a must-know for any JavaScript develop in 2019.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A beginner-friendly, quiz-driven tour of JavaScript from `var` to `async`/`await`, with a short TypeScript primer for developers who want to modernize their workflow. Best for self-taught learners and working developers who need a structured refresher on ES6+ features. 【Book Arc】 - **Opening (~0%–10%)**: Environment setup, editor choices, and a gentle introduction to variables, data types, and functions—designed to bring absolute beginners up to speed. - **Early (~10%–30%)**: Core language fundamentals: `var`/`let`/`const`, the temporal dead zone, arrow functions, default arguments, template literals, and string methods. - **Middle (~30%–55%)**: Destructuring, iterables and looping (`for...of` vs `for...in`), array improvements, and deeper dives into scope and the `this` keyword with `.bind`, `.call`, and `.apply`. - **Late (~55%–85%)**: Advanced ES2015+ features including generators, promises, async/await, and newer additions like `Object.fromEntries()` and optional catch binding. - **Ending (~85%–100%)**: A dedicated TypeScript introduction covering basic types, interfaces, classes, and union/intersection types, followed by quiz solutions. 【Key Takeaways】 - **`const` by default, `let` when reassignment is needed** (Early): The author argues for making `const` your default choice so accidental reassignments surface as errors rather than silent bugs. - **Arrow functions are anonymous and lexically bind `this`** (Early): They simplify callbacks but should be avoided when you need a dynamic `this` or a named function reference. - **Objects are copied by reference, primitives by value** (Early): This distinction explains why modifying a copied object affects the original—a common source of bugs. - **`this` depends on how a function is called, not where it is defined** (Middle): Global calls bind `this` to `Window` (or `undefined` in strict mode); `.bind()`, `.call()`, and `.apply()` let you set it explicitly. - **`let` and `const` are block-scoped; `var` is not** (Middle): Variables declared with `var` leak outside blocks, which is why modern code prefers `let`/`const`. - **`typeof null` returns `"object"`** (Middle): A historical bug from JavaScript's first implementation—worth memorizing to avoid confusion. - **Destructuring and template literals reduce boilerplate** (Middle): They make extracting values from objects/arrays and building strings more concise and readable. - **TypeScript is presented as a must-know companion** (Late): The final section introduces basic types, interfaces, and classes as a bridge from JavaScript to typed development. 【Reading Tips】 - **Skim the environment setup** if you already have an editor and know Chrome DevTools—the author explicitly says you can skip it. - **Deep-read the `this` keyword and scope chapters** (Middle): These are the hardest conceptual hurdles and the source of most beginner confusion. - **Do the end-of-chapter quizzes**: They are the book's main retention mechanism and reinforce each feature before you move on. - **Treat the TypeScript section as a primer, not a deep dive**: It covers basics only; pair it with a dedicated TypeScript resource if you plan to adopt it seriously. - **Use the GitHub link mentioned in the introduction** for updated core chapters as ECMAScript evolves. 【Coverage Limits】 This guide is based on stratified excerpts covering roughly the first half of the book in detail; the generators, promises, async/await, and TypeScript chapters are referenced by title and table of contents but their internal content is not deeply represented in the excerpts.
Excerpt 1
Chapter 8: Array improvements Array.from() Array.of() Array.find() Array.findIndex() Array.some() & Array.every() End of Chapter 8 Quiz Chapter 9: Spread ope...
View in text
Excerpt 2
ue what the best practice is when it comes to let and const. H ere is my take: se const all the time unless you know in advance that you will need to reassig...
View in text
Excerpt 3
r , therefore when we modified car , secondCar also changed. If we compare the two objects, we can see something interesting: console . log (car == secondCar...
View in text
Excerpt 4
or : 'red' , logColor : function () { console . log ( this . color ) } } const unboundGetColor = myCar . logColor ; console . log ( unboundGetColor ()) // un...
View in text
Excerpt 5
m a variable" ; // expected output: undefined console . log (j) ; let j = "I am a let" ; // expected output: ReferenceError: can't access lexi...
View in text
Excerpt 6
n + 1 ) ; //c) let func = arr . map (n ~> n + 1 ) ; a b c 2.2 What is the correct output of the following code? const person = { age : 10 , grow : () => { th...
View in text
Excerpt 7
years old ${ artist . song ? `and wrote the song ${ artist . song }` : '' } </p> </div> ` // <div> // <p> Bon Jovi is 56 years old // </p> // </div> const ar...
View in text
Excerpt 8
&quot; , last : &quot;Montalesi&quot; } var first = person . first ; var last = person . last ; In ES6 we can instead do it as following: const person = { first
View in text
Tags
AI categories
JavaScriptProgramming LanguageWeb Technology
Publish Year: 2020
Language: English
Pages: 298
File Format: EPUB
File Size: 1.5 MB