Today I want to share with you a few powerful examples of what you can do with ES6 - and a little out of the box thinking, and how much it will allow you to quickly scale up in a clean fashion.
Cleaning Strings
This for me was one of those "a Ha!" moments where the answer was just staring you in the face. I had to include it since you may typically you might think to use some elaborate library. Take the scenario where you present the user with an input box that allows for rich text, but you want the cleanest way to only store non-unicode characters. Try this simple one-line gem:
myCleanString = "test-_aaa'#@".replace(/[^0-9a-zA-Z-_' ]/gi, '');
The regular expression in this statement effectively says that for any characters not in this group (0-9, a-z, A-Z and symbol's hyphen, underscore, single quote and space), replace them with an empty string. Do this for the characters of your choosing.
DB Inserts/Updates
Here I like to use the power of objects with ES6, and this assumes that you are using (and if you are not, you should) prepared statements. Rather than altering the query each time, it is much simpler and cleaner to have an object as the item you are inserting/updating to the database. Take for example this insert:
Easy, right? Now the query can remain static - any changes you make to the object will cleanly update the SQL. If you are doing an update, the approach is more or less the same, except I have a function which extends the functions of the Object's prototype:
So here we are adding a function which rearranges the object to an array of <key> = ?. Either of the queries you are going to do, this can then be binded with:
d.query(sql,Object.values(obj));
Cleaning HTML entities
From passing data to and from a database and a web page, you'll more than likely have come across dealing with string that contain the ' for being a single quote - ecetera. Just include this tiny function:
Using regular expression, it will find these string segments, and return the string character from the number. Something like this should have come out of the box - but there you go!
Hope one or more of these tips makes your day just that little bit brighter.
Comments
Post a Comment