جاوا اسکریپت و 8 راهکار برای نوشتن کدهای کوتاه تر

جاوا اسکریپت در این روزگار به یک زبان های برنامه‌نویسی بسیار قدرتمند تبدیل شده است. کارهای زیادی هست که می‌توانید با آن انجام دهید. جاوا اسکریپت اکوسیستم بسیار متنوعی از ابزارها، فریم ورک ها و کتابخانه ها را دارد که باعث می شود این زبان به یک زبان برتر تبدیل شود.

جاوا اسکریپت دارای ویژگی‌های قدرتمندی است که زندگی توسعه دهنده را بسیار آسان‌تر می‌کند. این زبان مثل خیلی از زبان های برنامه نویسی دارای روش نگارشی یا syntax ساده‌ای است و امکان ساده نویسی و کوتاه نویسی (Shorthand syntax) را برای برنامه نویس میسر می کند. در آخرین نگارش ECMAscript نیز این موضوع گسترده تر شده است. بسیاری از این روش های نگارشی در مصاحبه ها از شما پرسیده می شود و یا به بهبود کدهای شما کمک می کند.

در این نوشته لیستی از shorthand که می‌توانید در جاوا اسکریپت به کار ببرید را برای شما نام میبریم. پس بی معطلی وارد جزییات می شویم.

1- Arrow Function

Arrow functions یک روش کارآمد برای نوشتم function است که به شما این امکان را می‌دهد تا به راحتی توابع را به یک روش کوتاه بنویسید و کد خود را کاهش دهید.

در اینجا مثال‌های زیر آورده شده‌است:

تابع عادی:

function calculateVat(price, vat){
    return (price + (price*vat/100); 
}
calculateVat(1000, 9); //1090

و نمونه بالا با یک Arrow function

const calculateVat = (price, vat)=> (price + (price*vat/100);
calculateVat(1000, 9); //1090

۲- For Loop

اغلب زمانی که می‌خواهیم با استفاده از یک حلقه یک array یا آرایه را یک به یک بررسی کنیم، به روش زیر از طریق یک for loop انجام میدهیم:

const cart = ["book", "pen", "flowers", "apple"];
for(let i = 0; i < cart.length; i++){
console.log(cart[i]);
}
/*output:
book
pen
flowers
apple
*/

اما با استفاده از روش for of مانند نمونه زیر می توانیم بهتر این حلقه را بنویسیم. البته در نظر داشته باشید که روش بالا در مواردی از سرعت بیشتری برخوردار است و باید در استفاده از روش نگارش for of برای داده های زیاد دقت شود.

const cart = ["book", "pen", "flowers", "apple"];
for (let item of cart){
console.log(item);
} /*output: book pen flowers apple */

۳- Flat کردن یا تک بعدی کردن آرایه های چند بعدی یا multi-dimensional array

بهترین راه برای تبدیل یک آرایه چند بعد به یک آرایه تک بعدی استفاده از متد flat() است. راه های زیاد برای تبدیل یک آرایه چند بعدی به یک آرایه تک بعدی وجود دارد اما استفاده از flat بسیار آسان است.

let numbers = [9, [102, 5], [6, 3], 2];
numbers.flat(); //returns [9, 102, 5, 6, 3, 2]

بنابراین این روش شگفت‌انگیز به شما این امکان را می‌دهد که یک آرایه را در یک بعد خلاصه کنید. همچنین این متد یک argument (ورودی) اختیاری نیز میگیرد تا بتوانید مشخص کنید که چه سطح و عمقی را تبدیل کند.

متد جدید at() در جاوا اسکریپپت

همچنان که درباره آرایه ها صحبت می کنیم اشاره کنیم به یک متد جدید که به شما کمک می کند کد کمتر و خوانا تری بنویسید. متد at(). متد at() یک عدد صحیح را می‌گیرد و آیتم را در آن index آرایه باز می‌گرداند. البته باید دقت شود که این متد بسیار جدید است و در همه مرورگرها پشتیبانی نمی شود

// Our array with items
const cart = ['apple', 'banana', 'pear'];

// A function which returns the last item of a given array
function returnLast(arr) {
return arr.at(-1);
}

// Get the last item of our array 'cart'
const item1 = returnLast(cart);
console.log(item1); // Logs: 'pear'

// Add an item to our 'cart' array
cart.push('orange');
const item2 = returnLast(cart);
console.log(item2); // Logs: 'orange'

این متد در حال آزمایش است و پشتیبانی آن محدود است. مطالعه بیشتر در وب سایت MDN.

۵- ادغام(Merge) و نمونه سازی (Clone) از یک آرایه

وقتی بحث ادغام و ایجاد مشابه از یک آرایه در جاوا اسکریپت می شود،spread oprrator { … } بهترین و سریع ترین روش در زبان جاوا اسکریپت است که می‌توانید از آن استفاده کنید.

برای ادغام دو آرایه:

const employees = ["Chris", "John"];
const entrepreneurs = ["Mohammad", "Anna"];
//merging both arrays to a new array.
const all = [...employees, ...entrepreneurs];
console.log(all); //output: ["Chris", "John", "Mohammad", "Anna"]

برای ایجاد یک آرایه مشابه:

const numbers = [4, 8, 9, 0];//cloning the numbers array.
const clone = [...numbers];
console.log(clone); //output: [4, 8, 9, 0]

۶- روش Short-circuit ساختار شرطی

بعضی زمان ها برای چک کردن یک عبارت که آیا True  یا false است و اجرای یک فرمان از if استفاده می کنیم اما راه ساده تری نیز هست و آن استفاده از && است. در مثال زیر از if استفاده می کنیم:

let isUserOnline = true;
if(isUserOnline){
console.log("You are Online!");
}
//returns "You are Online!"

و حال با روش Short-circuit آن را بازنویسی می کنیم:

let isUserOnline = true;
isUserOnline && console.log("You are Online!"); //returns "You are Online!"

 

۷- ساختار شرطی ternary operator

در ساختارهای شرطی از ternary operator بجای if else استفاده می شود که می تواند کدها را کوتاه تر کند. یک مثال با if میبینیم:

let speed = 80;
if(speed < 30){
console.log('slow');
}else if(speed > 60){
console.log('fast');
}else{
console.log('between 30 and 60');
}
//output: fast

و کد کوتاه تر آن با ternary operator

let speed = 80;
console.log(speed < 30 ? 'slow': speed > 60 ? 'fast'
: 'between 30 & 60'
);
//output: fast

 

۸- تبدیل یک رشته به عدد و بالعکس

معمولا برای تبدیل یک رشته به عدد، از متد parseInt() استفاده می‌کنیم. اما روش دیگری نیز وجود دارد که به ما این امکان را می‌دهد که این کار را انجام دهیم.

با استفاده از عملگر unary +، می‌توانیم به راحتی یک رشته را به عدد تبدیل کنیم.

یک مثال را ببینیم:

let price = "60";
console.log(typeof price); //string
console.log(typeof +price); //number
console.log(+price); //60, not "60".

همانطور که می‌بینید، تنها با اضافه کردن + در آغاز یک متغیر، ما قادر بودیم آن متغیر را به عدد تبدیل کنیم.

همچنین یک shorthand دیگر برای تبدیل از یک عدد به یک رشته وجود دارد. یک رشته خالی به عدد اضافه می‌کند.

مثال پیش رو این روش را نمایش میدهد.:

let price = 100;
price += ""; //returns "100" , not 100.
console.log(typeof price); //string

جمع بندی

همانطور که مشاهده کردید، اینها برخی از روش های کوتاه نویسی محبوب در کدنویسی و توسعه هستند که می‌توانید در جاوا اسکریپت به کار ببرید. آن‌ها به شما این اجازه را می‌دهند که خطوط کد را کم کنید و کد خود را تا جایی که می‌توانید کوتاه نگه دارید و البته کدهای خوانا تری داشته باشید. کدهای ساده و خوانا یکی از نشانه های مهم برنامه نویس عالی است.

پست‌های مرتبط

Leave a Comment