Advanced JavaScript Speed up Web Development with the Powerful Features and Benefits of JavaScript

Advanced JavaScript is a hands-on book that takes you through JavaScript and its many features, one step at a time. You'll begin by learning how to write JavaScript in a professional environment using the new JavaScript syntax in ES6. You'll discover how you can leverage the asynchronous n...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Shute, Zachary
Format: E-Book
Sprache:Englisch
Veröffentlicht: Birmingham Packt Publishing, Limited 2019
Packt Publishing Limited
Packt Publishing
Ausgabe:1
Schlagworte:
ISBN:9781789800104, 1789800102
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Inhaltsangabe:
  • 4vhg7c3kt6r5 -- _tsbm0cxr9mbd -- _g72rn0dmv8sl -- _rmgs0npn0w8v -- _GoBack -- _rn251yj4n7zn -- _saesyik4d1af -- _s76km5mr8pak -- _6p4gs5s7vvyv -- _3i36y58brnas -- _z33mxqsylge -- _llw2ebvwbrul -- _vr2fd127w5qz -- _nuyxe04hq6z7 -- _llwh0uexx6k8 -- _5b8xuinyxiv3 -- _m1x9p5u7uyx -- _57z2qihn3uzg -- _5gr1ndhaj28h -- _bbhota3o0r77 -- _65l893rk0h3k -- _pgdeyf7ssboo -- _x2w0zi35bkix -- _s736c4oyd2lz -- _yuntuxiknf3y -- _qt8iwg5069t4 -- _6qsy3bqh9b1s -- _3xlr2vpdx71o -- _saesyik4d1af -- _iyi9di51szjv -- _e73yhi7yqi86 -- _dd46vmcg4m25 -- _58e40lpahiv8 -- _t13y12hmtuk6 -- _89cgm148hivz -- _44n70jl8ql6w -- _qvatbufaofql -- _m5stebjieks9 -- _5e335clu8n2v -- _w8q9bys1ga73 -- _vmxthistkit8 -- _pycpfj2ij6hg -- _3dy6vkm -- _4d34og8 -- _2s8eyo1 -- _17dp8vu -- _3rdcrjn -- _26in1rg -- _35nkun2 -- _GoBack -- _1ksv4uv -- _lnxbz9 -- _44sinio -- _jqqucgixx171 -- _vwz0qt4drh6k -- _GoBack -- _2jxsxqh -- _z337ya -- _3j2qqm3 -- _1y810tw -- _p36soqqv350p -- _lnxbz9 -- _44sinio -- _35nkun2
  • Intro -- Preface -- Introducing ECMAScript 6 -- Introduction -- Beginning with ECMAScript -- Understanding Scope -- Function Scope -- Function Scope Hoisting -- Block Scope -- Exercise 1: Implementing Block Scope -- Declaring Variables -- Exercise 2: Utilizing Variables -- Introducing Arrow Functions -- Exercise 3: Converting Arrow Functions -- Arrow Function Syntax -- Exercise 4: Upgrading Arrow Functions -- Learning Template Literals -- Exercise 5: Converting to Template Literals -- Exercise 6: Template Literal Conversion -- Enhanced Object Properties -- Object Properties -- Function Declarations -- Computed Properties -- Exercise 7: Implementing Enhanced Object Properties -- Destructuring Assignment -- Array Destructuring -- Exercise 8: Array Destructuring -- Rest and Spread Operators -- Object Destructuring -- Exercise 9: Object Destructuring -- Exercise 10: Nested Destructuring -- Exercise 11: Implementing Destructuring -- Classes and Modules -- Classes -- Exercise 12: Creating Your Own Class -- Classes - Subclasses -- Modules -- Export Keyword -- Import Keyword -- Exercise 13: Implementing Classes -- Transpilation -- Babel- Transpiling -- Exercise 14: Transpiling ES6 Code -- Iterators and Generators -- Iterators -- Generators -- Exercise 15: Creating a Generator -- Activity 1: Implementing Generators -- Summary -- Asynchronous JavaScript -- Introduction -- Asynchronous Programming -- Sync Versus Async -- Synchronous versus Asynchronous Timing -- Introducing Event Loops -- Stack -- Heap and Event Queue -- Event Loops -- Things to Consider -- Exercise 16: Handling the Stack with an Event Loop -- Callbacks -- Building Callbacks -- Callback Pitfalls -- Fixing Callback Hell -- Exercise 17: Working with Callbacks -- Promises -- Promises States -- Resolving or Rejecting a Promise -- Using Promises
  • Object-Oriented Programming -- Functional Programming -- Declarative Versus Imperative -- Imperative Functions -- Declarative Functions -- Exercise 28: Building Imperative and Declarative Functions -- Pure Functions -- Same Output Given Same Input -- No Side Effects -- Referential Transparency -- Exercise 29: Building Pure Controllers -- Higher Order Functions -- Exercise 30: Editing Object Arrays -- Shared State -- Exercise 31: Fixing Shared States -- Immutability -- Immutability in JavaScript -- Side Effects -- Avoiding Side Effects -- Function Composition -- Activity 5: Recursive Immutability -- Summary -- The JavaScript Ecosystem -- Introduction -- JavaScript Ecosystem -- Frontend JavaScript -- Command-Line Interface -- Mobile Development -- Backend Development -- Node.js -- Setting Up Node.js -- Node Package Manager -- Loading and Creating Modules -- Exercise 32: Exporting and Importing NPM Modules -- Basic Node.js Server -- Exercise 33: Creating a Basic HTTP Server -- Streams and Pipes -- Types of Streams -- Writeable Stream Events: -- Readable Stream Events: -- Filesystem Operations -- Express Server -- Exercise 34: Creating a Basic Express Server -- Routing -- Advanced Routing -- Middleware -- Error Handling -- Exercise 35: Building a Backend with Node.js -- React -- Installing React -- React Basics -- React Specifics -- JSX -- ReactDOM -- React.Component -- State -- Conditional Rendering -- List of Items -- HTML Forms -- Activity 6: Building a Frontend with React -- Summary -- Appendix -- Index -- _pw7dqeg62j80 -- _GoBack -- _wqju3144kpk3 -- _bqb2kw72bvxe -- _s7vfgduyuoeg -- _o1qxx7pz0ui -- _c6v3znkuamdp -- _vrds5r1px8yz -- _5vmc54ohbmys -- _oa6c60zhrsel -- _ybe7glrxukeb -- _i5ye9ucb4te4 -- _l4r6i4ywrtp7 -- _cqs5pkzh931 -- _GoBack -- _8s384zp1dlb4 -- _wwjm4cphtrzo -- _8ze1p0ck6ig4 -- _znzqlllr7p6 -- _vqu848ympyu6 -- _k0bgyuekim1u
  • Exercise 18: Creating and Resolving Your First Promise -- Handling Promises -- Promise Chaining -- Promises and Callbacks -- Wrapping Promises in Callbacks -- Exercise 19: Working with Promises -- Async/Await -- Async/Await Syntax -- Asnyc/Await Promise Rejection -- Using Async Await -- Activity 2: Using Async/Await -- Summary -- DOM Manipulation and Event Handling -- Introduction -- DOM Chaining, Navigation, and Manipulation -- Exercise 20: Building the HTML Document from a DOM Tree Structure -- DOM Navigation -- Finding a DOM Node -- Traversing the DOM -- DOM Manipulation -- Updating Nodes in the DOM -- Updating Nodes in the DOM -- Exercise 21: DOM Manipulation -- DOM Events and Event Objects -- DOM Event -- Event Listeners -- Event Objects and Handling Events -- Event Propagation -- Firing Events -- Exercise 22: Handling Your First Event -- Custom Events -- Exercise 23: Handling and Delegating Events -- JQuery -- jQuery Basics -- jQuery Selector -- jQuery DOM Manipulation -- Selecting Elements -- Traversing the DOM -- Modifying the DOM -- Chaining -- jQuery Events -- Firing Events -- Custom Events -- Activity 3: Implementing jQuery -- Summary -- Testing JavaScript -- Introduction -- Testing -- Reasons to Test Code -- Test-driven Development -- TDD Cycle -- Conclusion -- Exercise 24: Applying Test-Driven Development -- Types of Testing -- Black Box and White Box Testing -- Unit Tests -- Exercise 25: Building Unit Tests -- Functional Testing -- Integration Tests -- Building Tests -- Exercise 26: Writing Tests -- Test Tools and Environments -- Testing Frameworks -- Mocha -- Setting Up Mocha -- Mocha Basics -- Exercise 27: Setting Up a Mocha Testing Environment -- Mocha Async -- Mocha Hooks -- Activity 4: Utilizing Test Environments -- Summary -- Functional Programming -- Introduction -- Introducing Functional Programming
  • Advanced JavaScript: Speed up web development with the powerful features and benefits of JavaScript