آموزش جاوا اسکریپت پیشرفته - درسمن

صفحه اصلی / دوره‌های آموزشی / JavaScript,Jquery / آموزش جاوا اسکریپت پیشرفته

آموزش جاوا اسکریپت پیشرفته


سطح مهارت
پیشرفته
مدت زمان
789 دقیقه
تعداد دانشجویان
422
مدرس
مهدی عباسی
میانگین امتیاز دوره: (14 رای)
670,000 تومان 25% تخفیف 502,500 تومان
افزودن به سبد خرید
ادامه فرآیند خرید

جلسات


                                 
مهدی عباسی
مدرس :

مهدی عباسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مطالعه بیشتر رزومه

توضیحات دوره

آموزش جاوا اسکریپت پیشرفته

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

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

آموزش جاوا اسکریپت پیشرفته با درسمن

مهم ترین مفاهیم آموزش جاوا اسکریپت پیشرفته که هر توسعه دهنده ای باید بداند

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

ارزیابی توابع با استفاده از Currying

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

با استفاده از Currying می توانید کاری کنید که توابع کاری را که باید انجام دهد، به کار های کوچک تر تقسیم کند تا هم اجرای آن ساده تر شود، هم قابلیت استفاده مجدد داشته باشد. این کار باعث می شود، تا کمترین میزان خطا را داشته باشید و عملیات آزمایش کد ها و دیباگ کردن را به آسانی انجام دهید. قطعه کد زیر نحوه استفاده و عملکرد Currying را به نمایش گذاشته است.
 

// consider the following function to process bank transaction

const transaction = (fee, balance, amount) => (

balance + amout - fee;

);



// Simple curry implementation

const curry = (fn, ...args) => (

(..._arg) => (

fn(...args, ..._arg)

)

);



// We could easily reuse the transaction logic for a "free" transaction

const freeTransaction = curry(transaction, 0);



freeTransaction(10, 90); // = 100

به مثال بالا توجه کنید. ما در این مثال تابعی را ایجاد کرده ایم که برای ارسال خروجی باید از 3 پارامتر تعریف شده استفاده کند. اولین ترفندی که باید بیاموزید این است که می توانید از Ramda یا مواردی مشابه آن استفاده کنید. علت پیشنهاد استفاده از Ramda به این موضوع بر می گردد که با استفاده از آن می توانید توابع currying با هر تعداد آرگومان پشتیبانی می کند. علاوه بر آن نیز باعث می شود تا ترتیب آرگومان ها حتی پس از تغییر نیز حفظ شود. 

ترکیب بندی یا Composition

ترکیب بندی یا Composition ترفند بعدی است که باید بیاموزید. ترکیب بندی تکنیکی است که در آن نتیجه یک تابع به تابع بعدی اش منتقل می شود و این روند و ترتیب ادامه پیدا می کند تا زمانی که تابع نهایی اجرا شود و خروجی آن محاسبه شود. 

نکته ای که در این قسمت باید بدانید ین است که تعداد عملگر های توابع محدودیتی ندارد و هر تعدادی که بخواهید، می تواند باشد. کاربرد دیگری که ترکیب بندی دارد این است که این امکان را به وجود می آورد که توابع را به توابع کوچک تر تقسیم کنید و این کار را به گونه ای انجام دهید که هر تابع بتواند یک مسئولیت واحد را انجام دهد. شیوه استفاده از Composition را در قطعه کد زیر آورده ایم.

// Compose function

const compose = (...fns) => x => fns.reduce((y, f) => f(y), x); 



// Functions

const addFee = amount => amount + 2;

const addDiscount = amount => amount - 5;



// function composition

const composition = compose(addFee, addDiscount)(100);

Ramda دارای API هایی است که برای ترکیب تابع با pipe و compose استفاده می شوند. اگر جزو معدود افرادی هستید که فراموش کرده اند Ramda چیست، پس نیاز است که اینجا یک یادآوری هم داشته باشیم. Ramda یک کتابخانه جاوا اسکریپت است که برنامه نویسی را به شدت آسان می کند. 

استفاده از تابع Closures

Closures یکی از توابعی است که در آموزش جاوا اسکریپت پیشرفته می آموزید. این تابع دسترسی به متغیر ها و آرگومان های تابع خارجی را؛ حتی پس از اتمام اجرای تابع؛ حفظ می کند. Closures در پنهان کردن جزئیات پیاده سازی در جاوا اسکریپت نیز به شدت موثر و مفید است. در اصل می توان گفت Closures در ایجاد متغیر های خصوصی یا توابعی مانند آن می تواند مفید واقع شود. در قطعه کد زیر به شما یاد داده ایم که چگونه از تابع Closures استفاده کنید. 

function counter() {

let count = 0;



function increment() {

return count += 1;

};



return increment;

}



const generateId = counter();



generateId(); // 1

generateId(); // 2

generateId(); // 3

استفاده از عملگر Nullish coalescing

یکی دیگر از آیتم هایی که استفاده از آن موجب می شود که شما تبدیل به یک برنامه نویس حرفه ای شوید، و بهتر و حرفه ای تر از قبل کد نویسی کنید، استفاده از عملگر Nullish coalescing است. اگر در کدهایی که نوشته اید، سمت چپ عملوند تهی باشد یا اصلا تعریف نشده باشد، عملگر Nullish coalescing بهترین راه برای آن است که یک مقدار پیش فرض را اعمال کند. 

کاربرد این عملگر در مواردی که می خواهید تمامی مقادیر نادرست، به غیر از مقادیری که null هستند یا تعریف نشده اند، را بپذیرید نیز هست. کاربرد دیگر این عملگر زمانی است که می خواهید مقادیر نادرست یا همان  falsy values را به عنوان پیش فرض استفاده کنید. قطعه کد زیر نحوه استفاده و کارایی این عملگر را نشان می دهد. 

// Falsy values

const value = 0 ?? 100; // = 0

const value = false ?? true; // = false





// Default values

const value = null ?? 100; // = 100

const value = undefined ?? 100 // = 100;


استفاده از Reflect API

استفاده از Reflect API را اکثر برنامه نویسان حرفه ای هم فراموش می کنند. پس اگر می خواهید در دسته افراد برنامه نویس حرفه ای جاوا اسکریپت قرار بگیرید، نیاز دارید که Reflect API را که یکی از مباحث بسیار مهم در آموزش جاوا اسکریپت پیشرفته است را بیاموزید. عمل reflection در برنامه نویسی به این معنی است که یک برنامه بتواند ساختار درونی خودش را بررسی کند و در صورت نیاز آن را تغییر دهد. 
Reflect API مجموعه ای از روش های مفید است که در بازنگری ساختار درونی کد هایی که نوشته اید و دستکاری آن ها در صورت لزوم استفاده می شود. نکته ای که خوب است در این بخش بدانید، این است که تمام روش های بازیابی و تغییر در Reflect API ثابت هستند. قطعه کد زیر نحوه استفاده از Reflect API را نمایش می دهد. 

 

const person = { 

name: 'Bob', 

[Symbol('email')]: 'bob@evil.com' 

};



Reflect.get(person, 'name'); // = Bob

Reflect.has(person, 'email'); // = true

Reflect.has(person, 'phone'); // = false

Reflect.getPrototypeOf(person); // = { constructor ... }

Reflect.getOwnPropertyDescriptor( person, 'name'); // = { value: 'Bob', writable: true, enumerable: true, configurable: true }

Reflect.ownKeys(person); // name, Symbol(email)



Reflect.defineProperty(person, 'phone', { writable: true });

Reflect.has(person, 'phone'); // = true

Reflect.set(person, 'phone', '123456789');



Reflect.deleteProperty(person, 'phone');

Reflect.has(person, 'phone'); // = false

آموزش جاوا اسکریپت پیشرفته با درسمن 

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

یادگیری جاوا اسکریپت پیشرفته با سایت درسمن

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

آموزش پیشرفته جاوا اسکریپت درسمن به گونه ای تهیه و تدوین شده است که شما پس از گذراندن این دوره به هیچ دوره جاوا اسکریپت دیگری نیاز نداشته باشید و بتوانید پس از آن به سراغ یادگیری مرحله بعد، یعنی یادگیری React بروید. برای حرفه ای شدن کافی است شروع کنید، پس زمان را از دست ندهید و همین حالا در آموزش جاوا اسکریپت پیشرفته درسمن ثبت نام کنید.

نظر شما در تصمیم دیگران اثرگذار است.

لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

نظرات دانشجویان

کاربر درسمن
عرفان

سلام خسته نباشید خدمت شما و استاد عزیز . جاوا اسکریپت مقدماتی تا متوسط و پیشرفته رو اکه یاد بگیریم میتونیم به بازار کار نزدیک بشیم؟

پشتیبانی 1
پشتیبانی 1

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

کاربر درسمن
حسین

ایا مبحث feach هم در این دوره تدریس میشه؟

پشتیبانی 1
پشتیبانی 1

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

کاربر درسمن
برنامه نویس

سلام ببخشید یه سوال داشتم کل دوره تا کی تکمیل میشه؟؟

پشتیبانی 1
پشتیبانی 1

سلام وقتتون بخیر، به زودی تکمیل خواهد شد از صبر و شکیبایی شما متشکریم.

کاربر درسمن
abolfazl

اول میخواستم ازتون خیلی تشکر کنم بابت این دوره های عالی، دوم بپرسم کی درسهای جدید اضافه میشه

پشتیبانی 1
پشتیبانی 1

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

نمایش بیشتر
آموزش جاوا اسکریپت پیشرفته

50