Linking pages
Linked pages
- Babel · The compiler for next generation JavaScript http://babeljs.io/repl/#?experimental=true&evaluate=true&loose=false&spec=false&code=function%20example()%7B%0A%20%20%0A%20%20%20%20class%20Actions%20%7B%0A%20%20%20%20%20%20%40Observable%0A%20%20%20%20%20%20static%20processSomething%0A%20%20%20%20%7D%0A%20%20%20%20%0A%20%20%20%20class%20Store%20%7B%0A%20%20%20%20%20%20constructor(name)%7B%0A%20%20%20%20%20%20%20%20this.name%20%3D%20name%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%40Observable%0A%20%20%20%20%20%20updater%0A%20%20%20%20%20%0A%20%20%20%20%20%20%40Observe(Actions.processSomething)%0A%20%20%20%20%20%20processHandler%20%3D%20function(data)%20%7B%20%0A%20%20%20%20%20%20%20%20this.updater.notify(this.name%20%2B%20%22%20processed%20%22%20%2B%20data)%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20%0A%20%20%20%20var%20myStoreA%20%3D%20new%20Store(%22Store%20A%22)%3B%0A%20%20%20%20var%20myStoreB%20%3D%20new%20Store(%22Store%20B%22)%3B%0A%20%20%20%20%0A%20%20%20%20var%20print%20%3D%20function(result)%7B%0A%20%20%20%20%20%20console.log(result)%3B%0A%20%20%20%20%7D%0A%20%20%20%20myStoreA.updater.on(print)%0A%20%20%20%20myStoreB.updater.on(print)%0A%20%20%20%20Actions.processSomething.notify(%221010110%22)%0A%7D%0A%0A%0A%0A%0A%0A%0A%2F%2F%2FAll%20the%20magic%20happens%20down%20here%0Aclass%20ObservableClass%20%7B%0A%20%20subscriptions%20%3D%20%5B%5D%3B%0A%20%20%0A%20%20on%20%3D%20function(handler)%7B%0A%20%20%20%20this.subscriptions.push(handler)%0A%20%20%7D%0A%0A%20%20notify%20%3D%20function()%7B%0A%20%20%20%20var%20args%20%3D%20arguments%3B%0A%20%20%20%20for(var%20i%20%3D%200%20%3B%20i%20%3C%20this.subscriptions.length%3B%20i%2B%2B)%7B%0A%20%20%20%20%20%20this.subscriptions%5Bi%5D.apply(null%2Cargs)%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Afunction%20Observable(target%2Ckey%2Ce)%20%7B%0A%20%20%20%20e.initializer%20%3D%20function()%7B%20return%20new%20ObservableClass()%3B%20%7D%0A%7D%0A%0Afunction%20Singleton(target%2Ckey%2Ce)%20%7B%0A%20%20%20%20e.initializer%20%3D%20function()%7B%20return%20new%20target()%3B%20%7D%0A%7D%0A%0Afunction%20Observe(observable)%20%7B%0A%20%20%20%20return%20function(classType%2Ckey%2Cd)%20%7B%0A%20%20%20%20%20%20var%20tempInitializer%20%3D%20d.initializer%3B%0A%20%20%20%20%20%20var%20blah%20%3D%20%20function()%20%7B%7D%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20blah.initializer%20%3D%20function()%7B%0A%20%20%20%20%20%20%20%20%20%20var%20val%20%3D%20tempInitializer.apply(arguments)%3B%0A%20%20%20%20%20%20%20%20%20%20observable.on(val.bind(this))%0A%20%20%20%20%20%20%20%20%20%20return%20val%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20blah%3B%0A%20%20%7D%0A%7D%0A%0Aexample()%3B 51 comments
- Understanding ECMAScript… by Nicholas C. Zakas [PDF/iPad/Kindle] https://leanpub.com/understandinges6/ 1 comment
Related searches:
Search whole site: site:medium.com
Search title: How to Learn ES6. We ran a survey at about the time the… | by Eric Elliott | JavaScript Scene | Medium
See how to search.