We provide workshop about Practical Functional Programming with JavaScript & TypeScript. JavaScript provides strong support for Functional Programming, and understanding these capabilities enables developers to write cleaner, more predictable and more maintainable applications.
Content:
This hands-on workshop focuses on practical FP techniques for modern JavaScript and TypeScript, presented through short theory sessions, live coding and guided exercises.
Participants will:
• Understand the core principles of Functional Programming in JavaScript and TypeScript
• Write pure, predictable, testable functions
• Use immutability to avoid unintended state changes
• Apply higher-order functions and functional composition
• Build clear and reusable data transformation pipelines
• Use the power of closures to encapsulate state safely
• Use currying and partial application to create flexible and configurable functions
• Model functional code effectively with TypeScript
• Optionally explore Maybe, Either and simple monad-style patterns for safe data handling
Main topics:
1) Core Functional Programming Foundations:
• First-class functions and treating functions as values
• Pure functions and explicit separation of side effects
• No-side-effect design and predictable behavior
• Immutability and safe data handling
• Higher-order functions
• Function composition using pipe and compose
• The power of closure for encapsulation, scoping and function factories
• Currying and partial functions for configurable logic
2) Data Transformation Techniques:
• Using map, filter, reduce and flatMap effectively
• Designing multi-step transformation pipelines
• Creating reusable functional utilities
• Handling nested and structured data using functional techniques
3) TypeScript for Functional Programming:
• Typing pure functions
• Union and optional types
• Generics in functional utilities
• Structuring functional code with TypeScript
4) Applying FP in Real JavaScript and TypeScript Code:
• Clear separation between transformation logic and side effects
• Designing small, composable modules
• Building a functional utility layer
• Writing testable functional logic with minimal mocking
5) Optional Advanced Concepts:
• Maybe and Optional-style safe value handling
• Either and Result-style error flows
• Practical monad concepts in JavaScript
• Functional approaches to async operations
Instructor: Shimi Zacken
Shimi Zacken er en senior frontendutvikler med over 15 års erfaring med JavaScript, TypeScript og moderne webarkitektur. Han brenner for funksjonell programmering og bruker disse prinsippene i det daglige for å bygge rene, forutsigbare og vedlikeholdbare løsninger. Shimi er en aktiv kunnskapsdeler i Bouvet og har en praktisk og hands-on undervisningsstil, med fokus på teknikker som deltakerne kan ta i bruk med en gang.
Target audience:
Developers with at least one year of experience with JavaScript or TypeScript