It's been a while since my last "list of interesting programming stuff" kind of entry, so here it goes a new installment.
- JavaScript is already very well packed with reflective features: Introspection, Object Expansion, Runtime Code Evaluation (eval is not evil), so it called my attention to find Reflect API planned for ES6. As the document says, it does not provide new functionality, but is a convenient way to place this already existing functionality (I've always considered Object as an odd location for functions like: freeze, seal, getOwnPropertyDescriptor). It's also interesting to see how nicely it plays with proxies.
- Talking of proxies, it's clear that it's one of the hottest and more expected additions to JavaScript, and we'll see all sort of interesting uses of it, one that I pretty much like is this one, adding negative indexes to arrays. If you take a look at the code you'll see it's just a couple of lines!
- I pretty much like the usage (and the code) for this Dependency Injection library for JavaScript
- With my love for Prototype based languages, I've never been much keen to use any of the many class emulation libraries for JavaScript, and indeed I don't like the idea of adding Classes syntactic sugar (internally it'll continue to be based on prototypes chains) to ES6. But when one comes across so many discussions about different approaches to inheritance, with names like "parasitic inheritance":
- http://www.benlakey.com/2013/05/javascript-prototypal-inheritance-done.html
- http://helephant.com/2009/08/17/javascript-prototype-chaining/
- http://stackoverflow.com/questions/7250423/javascript-parasitic-inheritance?rq=1
- http://javascriptissexy.com/oop-in-javascript-what-you-need-to-know/ http://stackoverflow.com/questions/2800964/benefits-of-prototypal-inheritance-over-classical?lq=1
- http://stackoverflow.com/questions/16929353/parasitic-combination-inheritance-in-professional-javascript-for-web-developer
- http://ericleads.com/2013/02/fluent-javascript-three-different-kinds-of-prototypal-oo/">
No comments:
Post a Comment