Polyfills/JavaScript Custom Implementation List -
Function Polyfills -
- Implement Function.bind using call/apply (DONE)
- Implement Function.apply using call (DONE)
- Implement Function.call using apply (DONE)
Array Polyfills -
- Array.map method on Array prototype
- Array.filter method on the Array Prototype
- Array.find method on the Array Prototype
- Array.forEach method on the Array Prototype
- Array.reduce method on the Array Prototype
- Array.flat method (that will flatten an array into a 1D array) Array Prototype
Promise Polyfills / Async Helpers
- Implement Async.sequence, which chains up async functions, like what pipe() does
- Implement Async.parallel, which executes a set of async tasks parallelly
- Implement Async.series, which executes a set of async tasks in series
- Write a method that will implement Promise.all
- Write a method that will implement Promise.race
- Write a method that will implement Promise.finally
- Write a method that will implement Promise.any
- Implement Promisify, provide promise support to function perform asynchronous tasks
- Implement Promise class
Functional Programming
- implement curry()
- Implement the pipe() polyfill
JS Concepts -
- prototype vs [[Prototype]]
- Inheritance in JS using Constructor functions (ES5 way)
JS Problems -
- Implement SetInterval Polyfill using setTimeout (DONE)
- Implement debounce
- Implement throttle
- Write a function memoize(memo) that will subsequent calls to a function
- Implement clearAllTimeout
- Implement an Event Emitter class
- Implement deep equal
_.isEqual()
- Map class
- Set class
Design Patterns
- Implement observer pattern in javascript
- Implement the publisher-subscriber(pub-sub) pattern in javascript
Refer sites
- bigfrontend.dev
- jsvault.com