Highlights
- Modern JavaScript: Syntax, Tooling, Runtime
- Functions Deep Dive: Scope, Closures, this, and Modules
- Objects & Prototypes: How JavaScript Really Does OOP
- Types, Coercion, and “Weird JS” You Need to Know
- Async JavaScript: Promises, async/await, Events, and Concurrency
- Functional JS Patterns: Immutability, Composition, and Practical FP
- Node.js Tools: Files, HTTP, Streams
- Code Organisation: Scaling a JS Codebase Without Chaos
Course Details
1. Modern JavaScript: Syntax, Tooling, Runtime
- ESM workflow, package scripts
- Vitest
- Lint
- Build tools
- Modern syntax
- Debugging workflow
2. Functions Deep Dive: Scope, Closures, this, and Modules
- Lexical scope + closures
- Factories, private state, partial application
- this rules, arrow functions, binding, and avoiding context bugs
- Modules: ESM imports/exports, default vs named, designing clean boundaries
3. Objects & Prototypes: How JavaScript Really Does OOP
- Prototype chain, property lookup, and why class is mostly syntax sugar
- Objects vs Maps/Sets, and picking structures for clarity and performance
- Composition vs inheritance: what’s idiomatic in modern JS
4. Types, Coercion, and “Weird JS” You Need to Know
- Primitives vs objects, truthiness, == vs ===, and coercion traps
- Numbers, NaN, BigInt, and precision gotchas (money, timestamps, floats)
- Edge cases that cause real bugs (null/undefined, 0/-0, Object.is)
5. Async JavaScript: Promises, async/await, Events, and Concurrency
- Promise fundamentals: chaining, error handling, and avoiding “promise soup”
- Concurrency patterns: all, allSettled, timeouts, retries, cancellation with AbortController
- Async / Await
- Event loop mental model and common async pitfalls
- Immutability in practice: copying strategies and avoiding accidental mutation
- Composition: map/filter/reduce, pipelines, pure functions, and side-effect boundaries
- Practical FP tools: currying, memoization, and when FP genuinely helps
7. Node.js Tools: Files, HTTP, Streams
- Node runtime basics: filesystem, paths, env vars, and process lifecycle
- HTTP servers/clients: routing basics, JSON APIs, validation, and error responses
- Streams: piping, backpressure intuition, and handling large data safely
8. Code Organisation: Scaling a JS Codebase Without Chaos
- Project structure patterns (layers vs features, packages/monorepos, shared utilities)
- Designing APIs between modules: contracts, dependency direction, and avoiding spaghetti imports
- Error handling and configuration patterns (env management, logging boundaries, “where does this live?”)
Who should attend
Who Should Attend
- Developers who know the basics of JavaScript and want to deepen their understanding of how the language really works
- Frontend developers looking to strengthen their backend and Node.js skills
- Backend developers who want to write cleaner, more maintainable JavaScript systems
- Engineers who want to better understand asynchronous programming, the event loop, and concurrency patterns
- Developers interested in modern JavaScript architecture, functional patterns, and scalable code organization
- Anyone who has used JavaScript in projects but wants to move beyond “it works” to writing robust, production-quality code
Prerequisites
Javascript Basics :
* Variables & assignment
* Operators & expressions (boolean logic, comparisons)
* Control flow: if/else
* Loops / iteration: for, while, for-each-style iteration
* Functions: defining/calling, parameters, return values
* Data structures: arrays/lists, objects
* Error handling: try/catch
* OOP basics: objects, classes, methods, constructors
Feedback
4.8 out of 5 average
"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"
Brian Leek, Data Analyst, May 2022
“JBI did a great job of customizing their syllabus to suit our business needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and the Instructor handled this particularly well - very impressive”
Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022