Used to create new thread.
For client-side language text
For rendering html element from javascript object using by html template in client-side
For objects and functions manipulation in javascript. Use for inheritance, attribute etc.
For proper coding and to run sequential asynchronous function.
For javascript key/value storage like react-native async-storage.