Corpocrat.com



20+ SIMPLE WOW HACKS IN JAVASCRIPTImage source: made it clear in their survey held in 2017 that JavaScript is the most commonly used language for the development of interactive and engaging web pages. It is supported by all the major web browsers and is used by the website developers quite regularly. The introduction of JavaScript in the products introduced by Magento development company has enhanced the design of the e-commerce websites.Learning JavaScript language is easy but using it to develop an interactive web interface requires specific tricks and techniques. Thus, to facilitate you to use this programming language easily, we have brought a list of 20 plus wow hacks that will help you optimize the performance, speed and save time while development of the website. These hacks are optimized codes that are made using smartly programmed logics. Enjoy working with these simple wow JavaScript hacks!Async/ await with destructingIt’s simply wonderful how the Array Destructing can offer so many functions. If you wish to make a complex flow much simpler, just combine array destruction with async/await and see what it does!Use this:const [user, account] = await Promise.all([ fetch('/user'), fetch('/account')])Use ‘!!’ operator to convert to booleanThis (!!) is known as the double negation operator in the JavaScript language. The programmers can use it to find out whether a variable exists or has a valid value to be considered as true value or not. Thus, use a simple ‘!!variable’. This can convert the data automatically to a boolean which will come back as false if it showcases any of these values: 0,””, null, NaN, or undefined. In an otherwise case, it will come back as true. The hack is as follows:function Account(cash) {this.cash =cash this.hasMoney = !!cash;}var account = new Account(100.50);console.log(account.cash); // 100.50console.log(account.hasMoney); // truevar emptyAccount = new Account(0);console.log(emptyAccount.cash); // 0console.log(emptyaccount.hasMoney); // fasleIn the above-mentioned case, if the value of account.cash is greater than zero, the account.hasMoney will be considered true. Try it out yourself and see how well it works!Swap variablesYou can make this happen by using the array destruction to swap the values. Use this code to do it:let a = 'world', b = 'hello'[a, b] = [b, a]console.log(a) // -> helloconsole.log(b) // -> world// Yes, it's magicUse the + operator to convert to numbersAt number four, we have a very simple yet magical hack that works with string numbers. If not, then it will return as NaN that indicates being not a number. function toNumber( strNumber) {return +strNumber;}console.log(toNumber( “1234”)); // 1234console.log(toNumber(“ABC”)); // NaNYou can use this magical hack with dates too. For the dates, it goes as follows:console.log(+new Date( )) // 1461288164385Short-circuit conditionalsAre you willing to shorten the code? Using shortcodes can save time and speed up the operation. Thus, if you see such a code somewhereIf(connected){ Login()’}You can combine the variables and a function with the help of && (AND operator) to shorten the code. The above code will look as below:connected &&login();Another code can also be used. It is:User&&user.login();Debugging hackIf you use console.log to debug, you’ll be amazed by this hack. Here you go:console.log({ a, b, c })// outputs this nice object:// {// a: 5,// b: 6,// c: 7// }How to detect properties in an object with a hack?The answer to this very question is given below. You can hire Magento developer and he’ll use his expertise to implement this hack really well. Wondering when does this trick prove to be beneficial? It is used to check if an attribute exists or not. It helps by preventing to run undefined functions or attributes. An example will help you understand in a better way. Say you need a code that is compatible with the old internet explorer 6 version and you want to use document.querySelector() to get some of the elements by their ids. But, in the latest browser this function does not exist and so you can use the ‘in’ operator to check the earlier existence of the function. if (‘querySelector’ in document) {document.querySelector(“#id”);} else {Document.get Element ById(“id”);}This states that if there is no ‘querySelector’ function in the document object, the document.getElementById function will be used as a fallback.One-linersThe Syntax is quite compact for the array operations// Find max valueconst max = (arr) => Math.max(...arr);max([123, 321, 32]) // outputs: 321// Sum arrayconst sum = (arr) => arr.reduce((a, b) => (a + b), 0)sum([1, 2, 3, 4]) // output: 10Array concatenationUse the concat in place of the spread operator:one = ['a', 'b', 'c']const two = ['d', 'e', 'f']const three = ['g', 'h', 'i']// Old way #1const result = one.concat(two, three)// Old way #2const result = [].concat(one, two, three)// Newconst result = [...one, ...two, ...three]Array filter usageIf you are looking for a hack to save time and omit the multiple lines of code, then array filter code is the one for you! Use this to filter out the desired elements from the array pool. With this process, you’ll create an array full of all array elements that pass a test. For the non-required elements, you can create a callback function. ??For example:schema = ["hi","ihaveboyfriend",null, null, "goodbye"]schema = schema.filter(function(n) { ???????????return n ???????});Output: ??["hi","ihaveboyfriend", "goodbye"]Get your floating number ensuring good performanceThe micro-optimization in the code is what boosts the performance and helps eliminate decimals using “~~” instead of math.ceil, math.floor, and math.round. Thus, replace math.round(math.random*100)with ~~ (math.random*100)Array elements are deleted using splice How does this help? Well, to tell you the truth, it is the best JS code used for speed optimization. It saves the some of the “null/ undefined space” in the code. If you use delete instead of the splice, the object property would be deleted without the arrays reindex or length update. The sample for you:myArray = ["a", "b", "c", "d"] myArray.splice(0, 2) ["a", "b"]Result: myArray ["c", "d"]Get the last item in the arrayIf you want to cut the arrays, you can set the begin and end arguments like Array.prototupe.slice(begin, end). Not setting the end argument means that the function will automatically go for the max value for the array. This function also accepts the negative values. If you set a negative number as begin an argument, you will obtain the last element from the array.It is as follows:var array= [1, 2, 3, 4, 5, 6];console.log(array. Slice(-1)); // [6]console.log(array. Slice(-2)); // [5, 6]console.log(array. Slice(-3)); // [4, 5, 6]Named parametersThe developers can use this code hack to make the function and function calls more readable with the help of destructuring. The hack is as follows:const getStuffNotBad = (id, force, verbose) => { ...do stuff}const getStuffAwesome = ({ id, name, force, verbose }) => { ...do stuff}// Somewhere else in the codebase... WTF is true, true?getStuffNotBad(150, true, true)// Somewhere else in the codebase... I ? JS!!!getStuffAwesome({ id: 150, force: true, verbose: true })Cloning Enjoy the ease of cloning arrays and objects with ease. Just keep in mind that it produces a shallow clone.const obj = { ...oldObj }const arr = [ ...oldArr ]Variable cachingYou can optimize the large arrays present in the loop by using this JS hack. This is one of the hacks that immensely improve the performance of JavaScript. var cached = document.getElementById('someElement');cached.addClass('cached-element');Use of switch casesThe use of switch cases is preferred over if/ else statements and it delivers the same results. The only benefit of using the switch cases is that the expression is evaluated only once and the execution time is quite less as compared to the use of is/else statements.Replace all functionBy using the String and Regex, String.replace() function allows replacing string. It helps in replacing the first occurrence. To ease up the process, you can use /g at the end of Regex and simulate a replaceAll() function.var string = “john john”;console.log(string.replace(/hn/, “ana”)); // “joana john”console.log(string.replace(/hn/g, “ana”)); // “joana joana”Shuffle array’s elementsThe good news is that you can now shuffle the array’s elements without the help of any external library like Lodash. Use this amazing trick to do so: var list = [1, 2, 3];console.log(list.sort(function() {return Math.randome () – 0.5})); // [2, 1, 3]Resizing the array using ‘length’The resizing is actually done by deleting or emptying an array. The technique that we are showing you below is preferred over other methods to resize the array elements. Use array.length = n, if you want to delete the elements in an array like thisvar array = [1, 2, 3, 4, 5, 6]; ?console.log(array.length); // 6 ?array.length = 3; ?console.log(array.length); // 3 ?console.log(array); // [1,2,3]Use array.length = 0 if you want to empty the arrayvar array = [1, 2, 3, 4, 5, 6]; array.length = 0; ??console.log(array.length); // Let’s convert the nodelist to arraysUsing the document.querySelectorAll(“p”) function will help you get the NodeList object but one without the array’s function like sort(), map(), reduce(), or filter(). If you want to activate the array’s function, you need to convert the NodeList into Arrays. This trick is made possible with the help of: [ ].slice.call(elements).The hack code is:var elements = document.querySelectorAll("p"); // NodeList var arrayElements = [].slice.call(elements); // Now the NodeList is an array var arrayElements = Array.from(elements); // This is another way of converting NodeList to ArrayArray truncationThe idea of using this magic hack is to lock the array’s size. Even if it has 10 elements, you can get it fixed at five in the following way:var array = [1, 2, 3, 4, 5, 6]; console.log(array.length); // 6 array.length = 3; console.log(array.length); // 3 console.log(array); // [1,2,3]Merging arraysThe Array.concat() function is used to merge the two short arrays ensuring sufficient memory usage in this way:var array1 = [1, 2, 3]; var array2 = [4, 5, 6]; console.log(array1.concat(array2)); // [1,2,3,4,5,6]; But, if you want to merge the large arrays you can use the Array.push.apply(arr1, arr2) function. This does not use much memory and ensures active performance by creating new arrays and by merging the second array in the first one.var array1 = [1, 2, 3]; var array2 = [4, 5, 6]; console.log(array1.push.apply(array1, array2)); // [1,2,3,4,5,6]; With this, your stock of having cool and simple hacks for the JavaScript programming is now full. You can place these codes and functions in various places and enjoy the benefit of enhanced performance and good speed. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download