Boost your JavaScript coding skills with these 20 essential shorthand techniques. Learn the top 20 JavaScript shorthand techniques that will save you time and make you a more efficient programmer. With clear explanations, code examples, and images, this article will teach you how to write more concise and effective JavaScript code.
//Longhand
let x; let y = 20;
//Shorthand
let x, y = 20;
We can assign values to multiple variables in one line with array destructuring.
//Longhand
let a, b, c;
a = 5;
b = 8;
c = 12;
//Shorthand
let [a, b, c] = [5, 8, 12];
We can save 5 lines of code here with ternary (conditional) operator.
//Longhand
let number = 26;
let isEven;
if(number % 2){
isEven = true;
}else{
isEven = false;
}
//Shorthand
let isEven = number % 2 ? true : false;
We can use OR(||)
short circuit evaluation to assign a default value to a variable in case the expected value found empty.
//Longhand
let imagePath;
let path = getImagePath();
if(path !== null && path !== undefined && path !== '') {
imagePath = path;
} else {
imagePath = 'default.jpg';
}
//Shorthand
let imagePath = getImagePath() || 'default.jpg';
If you are calling a function only if a variable is true, then using AND(&&)
short circuit you can do it in a single line.
//Longhand
if (isLoggedin) {
goToHomepage();
}
//Shorthand
isLoggedin && goToHomepage();
Here in shorthand technique, if isLoggedin
returns true, then only goToHomepage()
will execute.
To swap two variables, we often use a third variable. We can swap two variables easily with array destructuring assignment.
let x = 'Hello', y = 55;
//Longhand
const temp = x;
x = y;
y = temp;
//Shorthand
[x, y] = [y, x];
//Longhand
function add(num1, num2) {
return num1 + num2;
}
//Shorthand
const add = (num1, num2) => num1 + num2;
We normally use + operator to concatenate string values with variables. With ES6 template literals we can do it in a more simple way.
//Longhand
console.log('You got a missed call from ' + number + ' at ' + time);
//Shorthand
console.log(`You got a missed call from ${number} at ${time}`);
For multiline string we normally use + operator with a new line escape sequence (\n). We can do it in an easier way by using backticks (`).
//Longhand
console.log('JavaScript, often abbreviated as JS, is a\n' + 'programming language that conforms to the \n' +
'ECMAScript specification. JavaScript is high-level,\n' +
'often just-in-time compiled, and multi-paradigm.' );
//Shorthand
console.log(`JavaScript, often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled, and multi-paradigm.`);
For multiple value matching, we can put all values in array and use indexOf()
method.
//Longhand
if (value === 1 || value === 'one' || value === 2 || value === 'two') {
// Execute some code
}
// Shorthand
if ([1, 'one', 2, 'two'].indexOf(value) >= 0) {
// Execute some code
}
If the variable name and object key name is same then we can just mention variable name in object literals instead of both key and value. JavaScript will automatically set the key same as variable name and assign the value as variable value.
let firstname = 'Amitav';
let lastname = 'Mishra';
//Longhand
let obj = {firstname: firstname, lastname: lastname};
//Shorthand
let obj = {firstname, lastname};
There are built in methods like parseInt
and parseFloat
available to convert a string to number. We can also do this by simply providing a unary operator (+) in front of string value.
//Longhand
let total = parseInt('453');
let average = parseFloat('42.6');
//Shorthand
let total = +'453';
let average = +'42.6';
To repeat a string for a specified number of time you can use a for
loop. But using the repeat()
method we can do it in a single line.
//Longhand
let str = '';
for(let i = 0; i < 5; i ++) {
str += 'Hello ';
}
console.log(str); // Hello Hello Hello Hello Hello
// Shorthand
'Hello '.repeat(5);
Tip: Want to apologize to someone by sending 100 times “sorry”? Try it with
_repeat()_
method. If you want to repeat each string in a new line, then add_\n_
to the string.
'sorry\n'.repeat(100);
We can use Math.pow()
method to find the power of a number. There is a shorter syntax to do it with double asterik (**).
//Longhand
const power = Math.pow(4, 3); // 64
// Shorthand
const power = 4**3; // 64
The double NOT bitwise operator is a substitute for Math.floor()
method.
//Longhand
const floor = Math.floor(6.8); // 6
// Shorthand
const floor = ~~6.8; // 6
We can use for loop to loop through each value of array and find the max or min value. We can also use the Array.reduce() method to find the max and min number in array.But using spread operator we can do it in a single line.
// Shorthand
const arr = [2, 8, 15, 4];
Math.max(...arr); // 15
Math.min(...arr); // 2
To loop through an array we normally use the traditional for
loop. We can make use of the for...of
loop to iterate through arrays. To access the index of each value we can use for...in
loop.
let arr = [10, 20, 30, 40];
//Longhand
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
//Shorthand
//for of loop
for (const val of arr) {
console.log(val);
}
//for in loop
for (const index in arr) {
console.log(arr[index]);
}
We can also loop through object properties using for...in
loop.
let obj = {x: 20, y: 50};
for (const key in obj) {
console.log(obj[key]);
}
let arr1 = [20, 30];
//Longhand
let arr2 = arr1.concat([60, 80]);
// [20, 30, 60, 80]
//Shorthand
let arr2 = [...arr1, 60, 80];
// [20, 30, 60, 80]
To deep clone a multi-level object, we can iterate through each property and check if the current property contains an object. If yes, then do a recursive call to the same function by passing the current property value (i.e. the nested object).We can also do it by using JSON.stringify()
and JSON.parse()
in a single line.
let obj = {x: 20, y: {z: 30}};
//Longhand
const makeDeepClone = (obj) => {
let newObject = {};
Object.keys(obj).map(key => {
if(typeof obj[key] === 'object'){
newObject[key] = makeDeepClone(obj[key]);
} else {
newObject[key] = obj[key];
}
});
return newObject;
}
const cloneObj = makeDeepClone(obj);
//Shorthand
const cloneObj = JSON.parse(JSON.stringify(obj));
let str = 'jscurious.com';
//Longhand
str.charAt(2); // c
//Shorthand
str[2]; // c
Thanks for reading!
You may also like: ☞ Top 35 JavaScript Shorthands for Beginners
#javascript #js