JavaScript News - April 2017

April 20, 2017 - Is JavaScript really interpreted or compiled language?
The bible of JavaScript, MDN clearly says that JavaScript is an interpreted language (it also says JIT-compiled which I will address later in the article). Still, there is a question that if JavaScript is really interpreted. Paul Shan explores over at Void Canvas.
http://voidcanvas.com/is-javascript-really-interpreted-or-compiled-language/
Familiarity Bias is Holding You Back: It’s Time to Embrace Arrow Functions
April 19, 2017
Eric Elliott, who teached JavaScript for a living, recently shuffled around his curriculum to teach curried arrow functions sooner — within the first few lessons. He moved it earlier in the curriculum because it’s an extremely valuable skill, and students pick up currying with arrows a lot quicker than he thought they would.
https://medium.com/javascript-scene/familiarity-bias-is-holding-you-back-its-time-to-embrace-arrow-functions-3d37e1a9bb75
Organizing Webpack Configurations for Different Environments
Simon over at simonsmith.io answers a common question on how best to organize Webpack config files, especially when it comes to different environments. In his post, Simon shares a pattern that works well and allows scaling to as many environments as needed.
https://simonsmith.io/organising-webpack-config-environments/
PouchDB 6.2.0
Now that Pouchdb-find has been merged in, Will Holley updated replication and changes so that it is now possible to create a filtered replication using the PouchDB-find selectors and use it in the changes feed. (PouchDB Blog, April 20, 2017)
https://pouchdb.com/2017/04/20/pouchdb-6.2.0.html
With ES7 And Beyond, Do You Need To Know ES6 Generators?
After a few years of seeing generators in the wild and using them in my code, Derek Bailey answers the big question. Do you need to learn generators?
https://derickbailey.com/2017/04/19/with-es7-and-beyond-do-you-need-to-know-es6-generators/
Async iterators and generators
Streaming fetches are supported in Chrome, Edge, and Safari. Take a quick sprint through the API with Jake Archibald.
https://jakearchibald.com/2017/async-iterators-and-generators/
JavaScript Testing Tool Showdown: Sinon.js vs testdouble.js
When unit testing real-world code, there are many situations that make tests hard to write. How do you check if a function was called? How do you test an Ajax call? Or code using setTimeout? Jani Hartikainen explains that’s when you use test doubles — replacement code that makes hard to test things easy to test.
https://www.sitepoint.com/javascript-testing-tool-showdown-sinon-js-vs-testdouble-js/
The Maybe Future of Frontend Tooling
Donald Pipowitch talks about frontend tooling. Some History, The Maybe Future, Linters, Compiler Plugins and Macros, Loaders. Can we bring the different worlds of loaders, type systems, syntax extensions and pretty printers more closely to each other by finding the right low level APIs in the future?
https://medium.com/@pipopeperoni/the-maybe-future-of-frontend-tooling-80e6d96f8125
Sealing and Freezing JavaScript objects with Object.freeze()
Techshard demonstrates Object.seal() and Object.freeze(). Object.seal() prevents new properties while existing properties can still be changed if they are writable. Object.freeze() can be useful for representing a logically immutable data structure, especially if changing the properties of the object could lead to bad behavior elsewhere in your application.
https://techshard.com/2017/04/16/sealing-javascript-objects-using-object-seal/
https://techshard.com/2017/04/16/freezing-javascript-objects-with-object-freeze/
Regular Expressions in a post-ES6 world
Pony Foo's Nicolás Bevacqua looks at regular expressions in and after ES6. There’s a couple of regular expressions flags which were introduced in ES6: the /y or sticky flag, and the /u or Unicode flag. Nicolás discuss five proposals which are making their way through the ECMAScript specification development process at TC39.
https://ponyfoo.com/articles/regular-expressions-post-es6
TypeScript at Slack
https://slack.engineering/typescript-at-slack-a81307fa288d
How To Use GraphQL with Angular 2
https://gearheart.io/blog/how-to-use-graphql-with-angular-2-with-example/
Passing pieces of markup to components in Angular 2 and problems with dynamic content
NodeJS and Good Practices
https://blog.codeminer42.com/nodejs-and-good-practices-354e7d763626
Hidden Javascript Array features
https://shirotech.com/javascript/hidden-javascript-array-features
Extensible Effects in Node.js, Part 2
https://www.humblespark.com/blog/extensible-effects-in-node-part-2
Continue reading more recent tech news in our Angular channel