JavaScript in 2020


Without any doubt JavaScript is one of the most popular programming language. It is very powerful yet still vastly misunderstood as it's mechanics strongly differs from mechanics of traditional OOP languages like Java or C#. When used correctly, JS can be beautiful and maintainable masterpiece
JavaScript is not longer a language that can be used only for web pages. With tools like node, electron or ReactNative it can be used to create efficient hybrid apps, server applications and progressive web applications. JavaScript can be difficult at the begging as it's mechanics differs from mechanics known from traditional OOP languages such as C# or Java. Knowing how to use it efficiently and understanding it's mechanics is crucial in order not to make mistakes that often leads to broken applications with bugs that are very difficult to track - no matter of what library/framework is used along with JS." + During the training students will learn about modern trends in the language - functional programming, component architecture and new features which makes code efficient and clean. js
Examples of topics covered during the training
  • Difference between OOP and Functional Programming
  • OOP and FP real word examples
  • Exploring the OOP concepts
  • Types of JavaScript functions
  • Object creation - object literal, Object.create(), constructor function, class
  • Factory pattern
  • typeof vs instanceof, duck typing
  • ‘This’ in JavaScript
  • Binding the context
  • Prototypal chain
  • prototype and Object.setPrototypeOf()
  • Function constructors and prototypes
  • ES6 classes and prototypes
  • Closures and module pattern
  • Encapsulation and classes
  • Methods, static methods and polymorphism
  • Composition over inheritance
  • Dependency Injection
  • SOILD
  • Calling constructor functions (constructor composition pattern)
  • The hidden advantage of class methods
  • ES6 class mixins (dynamic inheritance)
  • new.target and abstract class pattern
  • Thinking in an OOP way
  • Proxy, Reflect
  • property descriptors
All trainings can be adjusted

according to your needs