Course description
JavaScript is one of the most popular and commonly used programming languages today. Not only is it the language of the web and front-end frameworks like Angular and React, but it can now be used to build anything (front-end, back-end, or otherwise) thanks to runtimes like NodeJS.
This course is designed to provide delegates with the knowledge and skills necessary to build modern JavaScript apps. It further serves to set the delegates on course to dive into one of the many JavaScript frameworks. Delegates will learn about everything from variables, functions, and program flow, to functional and asynchronous programming, and managed apps.
Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
NB: This course assumes ES6 as the baseline specification for JavaScript. This is because ES6 is now widely supported.
Who will the Course Benefit?...
Who will the Course Benefit?The JavaScript Developer course is aimed at those who are new or have had little exposure to JavaScript, and who will be responsible for building or maintaining JavaScript apps and want to go beyond the fundamentals. It may also be of value to those who wish to refresh/renew their knowledge of JavaScript after some time away from it.
Course ObjectivesThis course aims to provide delegates with the skills and knowledge necessary to write core Ja-vaScript code, exploit an understanding of the DOM and event handling to make web pages dy-namic and interactive, and to build modern, managed JavaScript applications that exploit modern syntax. Delegates should be able to devise object-oriented and functional solutions to problems, and deal with asynchronous tasks such as IO.
Upcoming start dates
Suitability - Who should attend?
Delegates should have some previous programming experience or at least be familiar with programming concepts. Delegates should also be familiar with HTML and CSS.
Experience to the level as demonstrated in these courses is recommended:
- Introduction to Programming - JavaScript
- Modern, Responsive Websites with HTML & CSS
Training Course Content
JavaScript Developer Training Course
Course Contents - DAY 1
Course Introduction- Administration and Course Materials
- Course Structure and Agenda
- Delegate and Trainer Introductions
- Setting up the development environment
- What is JavaScript?
- HTML and CSS - a brief refresher
- Embedding JavaScript in HTML
- Executing JavaScript with NodeJS
- Browser JS vs. NodeJS
- A simple example
- Syntax and comments
- ECMAScript and JavaScript
- Deployment
- Values
- Variables
- var, let, and const
- Naming conventions
- Numbers
- Strings
- Booleans
- Arrays
- Objects
- The typeof operator
- Dynamic typing
- Type conversion and coercion
- Arithmetic
- Handling text incl. template literals
- Function declarations
- Parameters
- Return statements
- Function expressions
- Arrow functions
- Declaration, expression, or arrow function?
- Calling functions
- Pass by value or reference?
- An introduction to scope
- Default parameters
- Built-in functions
- Relational and logical operators
- Equalty comparisons and sameness
- Truthy and falsey
- Conditional statements
- Iterative statements
- Error handling
- Debugging
Course Contents - DAY 2
Session 5: OBJECTS- Objects (again)
- Properties
- Dot notation
- Square bracket notation
- Function properties (methods)
- The this keyword
- Iterating over object properties
- The Object type
- Array objects and methods
- String objects and methods
- HTML elements and JavaScript objects
- The DOM
- DOM referencing
- DOM data types
- Element manipulation
- Creating, adding and removing elements
- Events
- Event propagation
- Event listeners
- Event listener registration
- The event object
- What is an API?
- Browser APIs
- Accessing browser APIs
- Date
- Math
- RegExp
- JSON
- Client-side storage
- Geolocation
- Others
Course Contents - DAY 3
Session 9: MODERN SYNTAX, OPERATORS, AND DATA STRUCTURES- Destructuring
- Spread
- Rest parameters
- Short circuiting
- Logical assignment operators
- Enhanced object literals
- Optional chaining
- Nullish coalescing
- Sets and Maps
- What is scope?
- Types of scope
- Lexical scope
- The scope chain
- Closures
- IIFEs
- What is object-oriented programming?
- Object templates
- Constructor functions
- The this keyword (review)
- Object prototypes (briefly)
- Classes
- Fields, constructors, and methods
- Static members
- Encapsulation
- Inheritance
- Composition
- Mutating arrays, e.g. push, splice etc.
- Functions (review)
- What is functional programming?
- Pure functions
- Immutability
- Spread (again)
- Functions as first-class objects
- Higher-order functions
- Callbacks
- Transforming arrays, e.g. filter, map etc.
Course Contents - DAY 4
Session 13: ASYNCHRONOUS PROGRAMMING- What is asynchronous programming?
- The Event Loop
- Asynchronous callbacks
- setTimeout and setInterval
- Promises
- async and await
- Reactive programming and observables (briefly)
- Asynchronous programming and the fetching of data
- What is a module?
- Exporting and importing module features
- Embedding a module in the HTML
- Default and named exports
- Aliases
- Module objects
- Modules, packages, libraries, and frameworks
- Categories of tools
- Package management
- Module bundling
- Transpilation
- TypeScript
- Creating a managed app
- The purpose of testing
- The types of testing
- Running tests
- Test tools
- Unit testing
- Integration testing
- E2E testing
- Testing async code
- Using mocks
Customer Outreach Award
We believe that it should be easy for you to find and compare training courses.
Our Customer Outreach Award is presented to trusted providers who are excellent at responding to enquiries, making your search quicker, more efficient and easier, too.
Continuing Studies
Further Learning
- React
- Angular Development
- Developing Node.js Web Applications
Request info
Why StayAhead. From a single person on a scheduled course to large scale training projects StayAhead Training have the expertise and experience to help. Established since 1992, StayAhead Training is recognised as one of the leading independent IT Training specialists...