Coursera-ServerSide-Javascript-with-NodeJS Week -1 NodeJS Concepts Single Threaded Async No data buffuring Written in C++ Runs on Google V8 Engine Non-Blocking I/O calls models Components NodeCLI Node Package Manager package.json Third Party Modules (mongoose, mongoDB, etc) Node Core Modules (http, url, query strings, fs, etc) Javascript Hoisting Javascript only hoists declarations, not initializations. Initialization does not happene until the associated line of code is executes. Variables Arithmetic Operators + - / * % ** Assignment Operators = += -= *= /= %= **= Logical Operators && || ! Unary Operators delete void typeof Comma Operator ' Relational Operators Define the relationship between two operands in instanceof < > <= >= Ternary Operators (condition ? ifTrue: ifFalse) Equality Operators == != === !== Expressions this - referes to a special property of an execution context function - defines function expression class - defines a class expression new - create an instance of a constructor Process Object global object provides information of currently running program Control Structures if..else switch...case (uses === operator) Loops and Iteration for do...while while labeled break continue for...in for...of Week-1 Coding Week -2 Context Setting Modularize Creating functions and making functionalities Filter, Transfor, and Aggragate data using Array Array Operations Aggregation: reduce() Traversal: forEach() Modification: map(), filter(), slice() Removal: pop(), shift(), splice() Insertion: push(), unshift() Search: find(), indexOf() Chaining Array Call many methods in a single statement make the code more concise Provides an output of one function as an input to another function Helps in writing compact code Week-2 Coding