Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
January 25, 2021 04:32 pm GMT

17 Javascript optimization tips to know in 2021

You might be using Javascript development for a long time but sometimes you might not be updated with newest beautiful features that it offers which can solve your issues without writing extra codes. These techniques can help you write clean and optimized JavaScript Code. Moreover, these topics can help you to prepare yourself for JavaScript interviews in 2021.

After one of my articles about 8 neat javascript skills you didn't know in 4 minutes, here I am coming with a new series to cover shorthand techniques that help you to write more clean and optimized JavaScript Code.My motive is to introduce all the JavaScript best practices such as shorthand and features which we must know as a frontend developer to make our life easier in 2021.This is a Cheat list for JavaScript Coding you must know in 2021.

1. If with multiple conditions

We can store multiple values in the array and we can use the array includes method.

//longhandif (x === 'abc' || x === 'def' || x === 'ghi' || x ==='jkl') {    //logic}//shorthandif (['abc', 'def', 'ghi', 'jkl'].includes(x)) {   //logic}
Enter fullscreen mode Exit fullscreen mode

2. If true else Shorthand

This is a greater shortcut for when we have if-else conditions that do not contain bigger logics inside. We can simply use the ternary operators to achieve this shorthand.

// Longhandlet test: boolean;if (x > 100) {    test = true;} else {    test = false;}// Shorthandlet test = (x > 10) ? true : false;//or we can simply uselet test = x > 10;console.log(test);
Enter fullscreen mode Exit fullscreen mode

After nesting the condition we remain with something which looks like this:

let x = 300,let test2 = (x > 100) ? 'greater 100' : (x < 50) ? 'less 50' : 'between 50 and 100';console.log(test2); // "greater than 100"
Enter fullscreen mode Exit fullscreen mode

3. Null, Undefined, Empty Checks

When we do create new variables sometimes we want to check if the variable we are referencing for its value is not null or undefined. JavaScript does have a really good shorthand to achieve these functions.

// Longhandif (first !== null || first !== undefined || first !== '') {    let second = first;}// Shorthandlet second = first|| '';
Enter fullscreen mode Exit fullscreen mode

4. Null Value checks and Assigning Default Value

let first = null,let second = first || '';console.log("null check", test2); // output will be ""
Enter fullscreen mode Exit fullscreen mode

5. Undefined Value checks and Assigning Default Value

let first= undefined,let second = first || '';console.log("undefined check", test2); // output will be ""
Enter fullscreen mode Exit fullscreen mode

6.foreach Loop Shorthand

This is a useful short hand for iteration

// Longhandfor (var i = 0; i < testData.length; i++)// Shorthandfor (let i in testData) or  for (let i of testData)
Enter fullscreen mode Exit fullscreen mode

Array for each variable

function testData(element, index, array) {  console.log('test[' + index + '] = ' + element);}[11, 24, 32].forEach(testData);// prints: test[0] = 11, test[1] = 24, test[2] = 32
Enter fullscreen mode Exit fullscreen mode

7. Comparison returns

Using the comparison in the return statement will avoid our 5 lines of code and reduced them to 1 line.

// Longhandlet test;function checkReturn() {    if (!(test === undefined)) {        return test;    } else {        return callMe('test');    }}var data = checkReturn();console.log(data); //output testfunction callMe(val) {    console.log(val);}// Shorthandfunction checkReturn() {    return test || callMe('test');}
Enter fullscreen mode Exit fullscreen mode

8. Short function calling
We can achieve these types of functions using ternary operator.

// Longhandfunction test1() {  console.log('test1');};function test2() {  console.log('test2');};var test3 = 1;if (test3 == 1) {  test1();} else {  test2();}// Shorthand(test3 === 1? test1:test2)();
Enter fullscreen mode Exit fullscreen mode

9. Switch shorthand

We can save the conditions in the key-value objects and can be used based on the conditions.

// Longhandswitch (data) {  case 1:    test1();  break;  case 2:    test2();  break;  case 3:    test();  break;  // And so on...}// Shorthandvar data = {  1: test1,  2: test2,  3: test};data[anything] && data[anything]();
Enter fullscreen mode Exit fullscreen mode

10. Multi-line String Shorthand
When we are dealing with a multi-line string in code we can do it this way:

//longhandconst data = 'abc abc abc abc abc abc
' + 'test test,test test test test
'//shorthandconst data = `abc abc abc abc abc abc test test,test test test test`
Enter fullscreen mode Exit fullscreen mode

11.Implicit Return Shorthand

With the use of arrow functions, we can return the value directly without having to write a return statement.

Longhand://longhandfunction getArea(diameter) {  return Math.PI * diameter}//shorthandgetArea = diameter => (  Math.PI * diameter;)
Enter fullscreen mode Exit fullscreen mode

12.Lookup Conditions Shorthand

If we have code to check the type and based on the type need to call different methods we either have the option to use multiple else ifs or go for the switch, but what if we have better shorthand than that?

// Longhandif (type === 'test1') {  test1();}else if (type === 'test2') {  test2();}else if (type === 'test3') {  test3();}else if (type === 'test4') {  test4();} else {  throw new Error('Invalid value ' + type);}// Shorthandvar types = {  test1: test1,  test2: test2,  test3: test3,  test4: test4};var func = types[type];(!func) && throw new Error('Invalid value ' + type); func();
Enter fullscreen mode Exit fullscreen mode

13.Object.entries()

This feature helps to convert the object to an array of objects.

const data = { test1: 'abc', test2: 'cde', test3: 'efg' };const arr = Object.entries(data);console.log(arr);/** Output:[ [ 'test1', 'abc' ],  [ 'test2', 'cde' ],  [ 'test3', 'efg' ]]**/
Enter fullscreen mode Exit fullscreen mode

14. Object.values()
This is also a new feature introduced in ES8 that performs a similar function to Object.entries(), but without the key part:

const data = { test1: 'abc', test2: 'cde' };const arr = Object.values(data);console.log(arr);/** Output:[ 'abc', 'cde']**/
Enter fullscreen mode Exit fullscreen mode

15. Repeat a string multiple times

To repeat the same characters again and again we can use the for loop and add them in the same loop but what if we have a shorthand for this?

//longhand let test = ''; for(let i = 0; i < 5; i ++) {   test += 'test '; } console.log(str); // test test test test test //shorthand 'test '.repeat(5);
Enter fullscreen mode Exit fullscreen mode

16. Power Shorthand

Shorthand for a Math exponent power function:

//longhandMath.pow(2,3); // 8//shorthand2**3 // 8
Enter fullscreen mode Exit fullscreen mode

17. Numeric Separators

You can now easily separate numbers with just an _ . This will make life of developers working with large numbers more easier.

//old syntaxlet number = 98234567//new syntaxlet number = 98_234_567
Enter fullscreen mode Exit fullscreen mode

If you would like to get update yourself with the latest features of JavaScript newest version(ES2021/ES12) check below:

1. replaceAll(): returns a new string with all matches of a pattern replaced by the new replacement word.

2.Promise.any(): It takes an iterable of Promise objects and as one promise fulfills, return a single promise with the value.

3. weakref: This object holds a weak reference to another object without preventing that object from getting garbage-collected.

4. FinalizationRegistry: Lets you request a callback when an object is garbage collected.

5. Private visibility: modifier for methods and accessors: Private methods can be declared with #.

6. Logical Operators: && and || operators.

7. Intl.ListFormat: This object enables language-sensitive list formatting.

8. Intl.DateTimeFormat: This object enables language-sensitive date and time formatting.

Conclusion
What's more, there we have it. 17 ways to optimize your code with modern JavaScript techniques.

Let's be friends! Follow me on Twitter and instagram for more related content. Don't forget to follow me also here on Dev as well to get updated for new content.

Stay safe


Original Link: https://dev.to/blessingartcreator/17-javascript-optimization-tips-3gil

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To