The String#replace()
function replaces instances of a substring with another substring, and returns the modified string. This function seems simple at first, but String#replace()
can do a whole lot more than just replace 'foo' with 'bar'. In this article, I'll explain some more sophisticated ways to use String#replace()
, and highlight some common pitfalls to avoid.
Vue has grown by leaps and bounds over the last couple years, and overtook Angular as the #2 frontend framework in 2018. According to the State of JS survey, Vue is the #1 frontend framework that isn't associated with a serial bad actor, which makes it worth learning if you're serious about going Facebook-free. In this article, I'll walk through building a simple form with Vue.
JavaScript introduced the class
keyword in 2015 with the release of ES6. React made classes an indispensable language feature when they introduced support for using extends React.Component
instead of React.createClass()
in 2015, and removed support for React.createClass()
entirely in 2017 in favor of classes. Today, classes are a fundamental part of JavaScript, and many new JavaScript devs don't remember a time before classes. In this article, I'll provide an overview of how classes work in JavaScript: how to declare classes, what features JavaScript provides with classes, and how inheritance works.
There's some confusion on the internet about what happens when you call Model.find()
in Mongoose. Make no mistake, Model.find()
does what you expect: find all documents that match a query. But there's some confusion about Model.find()
vs Query#find()
, setting options, promise support. In this article, I'll provide a conceptual overview of what happens when you call Model.find()
so you can answer similar questions for yourself.
There's numerous ways to loop over arrays and objects in JavaScript, and the
Converting an arbitrary value to a string in JavaScript is surprisingly nuanced. There are 3 common ways to convert v
to a string:
ES2019 was recently finalized, which means JavaScript has several new language features to learn. These features are now available in Chrome 73:
The Object Rest/Spread Proposal reached stage 4 in 2018, which means it will be included in a future iteration of the ECMAScript spec. It's also been included in Node.js LTS since Node.js 8, so you can safely start using it today.