This document introduces functional programming concepts in JavaScript. It discusses functional programming as a paradigm, coding style, and mindset. It explains why functional JavaScript is useful by noting issues with object-oriented JavaScript and benefits like safety, debuggability and maintenance. It provides examples to illustrate functional concepts like pure functions, higher-order functions, avoiding side effects and mutations, and using immutable data structures. Finally it recommends libraries like Mori and Immutable.js and references for learning more about functional programming.