Course description
This training gives a deeper understanding of JavaScript’s complicated features, syntax constructions and inner mechanisms. It will be useful for developers who already have experience in JavaScript but want to unlock the full potential of the language, and start to use various lesser known but still very interesting and helpful possibilities.
Upcoming start dates
Who should attend?
Prerequisites
Knowledge of JavaScript
Training content
JavaScript basics in depth
- Class Object
- Object descriptors
- Object methods
- Prototype inheritance
- Symbols
- Iterators
- Generators
- Creating iterable objects
- Async generators
JavaScript types in depth
- Types overview
- Type Number
- Floating point and rounding problems
- Type String
- Type Boolean
- Type conversions
- Map, Set, WeakMap, WeakSet
- BigInt
- ArrayBuffer
- Typed arrays
- DataViews
- Blobs
- FileReader
- Processing the uploaded files
Asynchronous programming
- Asynchronous calls
- Using this in callbacks
- Promise class
- Promise exception handling
- Methods all(), any(), race(), allSettled()
- Promise cancellation with Promise.race()
- Promise cancellation with AbortController
- Async/await syntax
- Async/await Syntax: Exception Handling
- Async/await Syntax: top-level await
- Async/await Syntax: Constraints
- REST architecture
- HTTP status codes
- HTTP methods
- Statelessness and Scalability
- CRUD Operations and Rest Services
- Returned Data Format: XML, JSON, XHTML
- Fetch Function
- Fetch with possibility to abort request
- Axios library for REST calls
- Handling Errors in Axios
- Request Canceling in Axios
- Axios Interceptors
- WebSocket protocol
- WebSocket in a Browser
- WebSocket on server (Node.js)
- When to Use WebSocket?
Workers and parallel programming
- Workers
- Worker types
- Worker APIs
- Registering worker
- Worker use cases
- Service workers
- Cache API
- Registering Service worker
- Service worker lifecycle
- Service worker as a server proxy
- Cache First strategy (Cache Falling Back to Network)
- Network First strategy (Network Falling Back to Cache)
- Stale-While-Revalidate strategy
- Which strategy to use
- Update cache on push message strategy
- Update cache on background synchronization strategy
Functional programming
- Functions as data
- Function Arguments and Arguments Array
- Functions as Methods
- Call and apply methods
- Binding a Function to an Object
- Closures
- Creating an encapsulated value through closure
- Constructor function
- Array functions: map/filter/reduce
- Programming paradigms
- Declarative versus imperative
- Functional programming
- High-ordered functions
- Pure functions
- Benefits of pure functions
- Immutability
- Immutability of objects: Spread Operator
- Benefits of immutability
- Immutable.js
- Nested data structures in Immutable.js
- Monads and functional composition
- Function pipe()
- Decomposition of the functions
- Monads for SIMD operations
- Partial application of the function
- Currying
- Null safety
- Null Object Design Pattern
- Maybe monad
- Partially defined function
- Rules of Good Code for Writing Functions
- Functional Design Patterns
- MVC design pattern with pure functions
- Observer design pattern
- Event sourcing design pattern
- REDUX design pattern
- REDUX DevTools
- REDUX advantages
- Reactive programming design pattern (RxJS)
- Filter/map/take operators
- MergeMap/ConcatMap/SwitchMap operators
- Window/Buffer operators
- Sample/Throttle/Debounce operators
- Reactive programming benefits and use cases
Certification / Credits
Objectives
After the training, the attendees will:
- better understand JavaScript language;
- get to know JavaScript types and type conversions in depth;
- learn asynchronous programming;
- use REST services and websockets to communicate with the server;
- use workers and parallel programming;
- use service workers for caching;
- use functional and reactive programming.
Quick stats about Luxoft Training Center?
More than 200 training courses
Conducted over 1,500 training sessions
Customized training solutions for business
Contact this provider
Luxoft Training Center
Luxoft Training Center — an essential part of the global technology leader, Luxoft, a DXC Technology Company. We play a pivotal role in propelling B2B businesses forward by delivering customized training solutions. Emphasizing the significance of learning and employee development,...