Introduction: what is JavaScript- Program Structure: Expressions and statementsBindings-Binding names-The environment-Control flow-Conditional execution-while and do loops-Indenting Code-for loops-Breaking Out of a Loop-Updating binding’s succinctlyDispatching on a value with switch-Comments. Functions: Defining a function-Bindings and scopes-Functions as values- Declaration notation- Arrow functions- Optional ArgumentsClosure- Recursion
Data Structures: Objects and Arrays- Data sets- Properties-Methods- ObjectsMutability- The lycanthrope's log- Computing correlation- Array loops- The final analysisStrings and their properties- Rest parameters- The Math object. Higher-Order Functions: Abstraction- Higher-order functions- Script data set- Filtering arrays- Transforming with mapComposability- Strings and character codes- Recognizing text.
The Secret Life of Objects: Encapsulation: Methods- Prototypes- Classes- Class notation- Overriding derived properties- Polymorphism- Symbols- The iterator interfaceGetters, setters, and statics- Inheritance- The instanceof operator- JavaScript and the Browser: Networks and the Internet- The Web- HTML- HTML and JavaScript- The Document Object Model: Document structure- Trees- The standard- Moving through the treeFinding elements- Changing the document- Attributes- Cascading styles- Query selectors.
Handling Events: Event handlers- Events and DOM nodes- Event objects- PropagationDefault actions- Key events- Pointer events- Touch events- Scroll events- Focus events- Load event- Events and the event loop- Timers- Debouncing- Drawing on Canvas: SVG- The canvas element- Lines and surfaces- Paths- Curves- Drawing a pie chart- Text- ImagesTransformation- Storing and clearing transformations
HTTP and Forms: The protocol- Browsers and HTTP- Fetch- HTTP sandboxingAppreciating HTTP- Security and HTTPS- Form fields- Focus- Disabled fields- Text fieldsCheckboxes and radio buttons- Select fields- File fields- Storing data client-side. Node.js: The node command- Modules- Installing with NPM- Package files- The file system module- The HTTP module- Streams- A file server.
Reference Book:
Matt Frisibie, “ Professional JavaScript for Web Developer”, 4th edition, Wrox Publishier Ltd, ISBN-13:978-1119366447 2. Matthew Python, “JavaScript for beginner’s”, 2020, Independently Publisher Ltd, ISBN-979-8609228857. 3. Nicholas C. Zakas, “Professional JavaScript for Web Developers”, 2nd Edition, Wiley Publishing, Inc, ISBN: 978-0-470-22780-0.
Text Book:
Marijn Haverbeke, “Eloquent JavaScript”, 2018, 3 rd Edition, No Starch Press, ISBN-10- 1593279507, ISBN-13-978-1593279509.