Facebook Pixel
Searching...
فارسی
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Eloquent JavaScript

Eloquent JavaScript

A Modern Introduction to Programming
توسط Marijn Haverbeke 2011 224 صفحات
4.15
3k+ امتیازها
گوش دادن

نکات کلیدی

1. درک جاوااسکریپت به عنوان یک زبان انعطاف‌پذیر و پویا

"یک زبان برنامه‌نویسی خوب بیشتر از فقط یک روش برای دادن دستور به یک کامپیوتر است."

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

ویژگی‌های کلیدی زبان:

  • نوع‌دهی پویا
  • پشتیبانی از برنامه‌نویسی تابعی و شی‌گرا
  • اجازه تبدیل نوع در زمان اجرا
  • ارائه ساختارهای داده‌ای قدرتمند
  • پشتیبانی از بسته‌های محلی و توابع سطح اول

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

2. تسلط بر ساختار برنامه و جریان کنترل

"زمانی که یک برنامه رشد می‌کند، پیچیدگی آن به طور نمایی افزایش می‌یابد."

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

تکنیک‌های جریان کنترل:

  • عبارات شرطی (if/else)
  • ساختارهای حلقه (for، while)
  • انتزاع مبتنی بر تابع
  • مکانیزم‌های مدیریت خطا
  • سازماندهی کد به صورت ماژولار

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

3. پذیرش تکنیک‌های برنامه‌نویسی تابعی

"توابع واحد اصلی سازماندهی در جاوااسکریپت هستند."

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

اصول برنامه‌نویسی تابعی:

  • توابع مرتبه بالاتر
  • توابع خالص
  • عدم تغییرپذیری
  • ترکیب توابع
  • بسته‌های محلی و دامنه‌های لغوی

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

4. ایجاد ساختارهای داده‌ای قدرتمند

"اشیاء و آرایه‌ها راه‌هایی برای گروه‌بندی چندین مقدار به یک مقدار واحد فراهم می‌کنند."

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

قابلیت‌های ساختار داده:

  • ایجاد اشیاء به صورت پویا
  • ساختارهای داده تو در تو
  • وراثت مبتنی بر پروتوتایپ
  • دستکاری ویژگی‌های انعطاف‌پذیر
  • متدهای پیشرفته آرایه

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

5. پیاده‌سازی مفاهیم پیشرفته برنامه‌نویسی

"راه نوشتن برنامه‌های بزرگ این است که آن‌ها را کوچک کنید."

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

تکنیک‌های پیشرفته برنامه‌نویسی:

  • برنامه‌نویسی شی‌گرا
  • دستکاری پروتوتایپ
  • متاپروگرام‌نویسی
  • تولید کد پویا
  • بازتاب و درون‌نگری

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

6. ساخت برنامه‌های وب تعاملی

"قسمت مرکزی یک کامپیوتر پردازنده‌ای است که مراحل فردی در برنامه‌ها را اجرا می‌کند."

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

قابلیت‌های توسعه وب:

  • دستکاری DOM
  • مدیریت رویدادها
  • برنامه‌نویسی ناهمزمان
  • رندرینگ سمت کلاینت
  • سازگاری با مرورگرهای مختلف

طراحی تجربه کاربری. برنامه‌های وب مدرن به شدت به جاوااسکریپت وابسته‌اند تا رابط‌های بدون درز و جذابی ایجاد کنند که به سرعت به اقدامات کاربر پاسخ دهند.

7. کاوش در فناوری‌های مرورگر و دستکاری DOM

"مدل سند مرورگر نمایانگر چگونگی ساختار صفحات وب است و می‌تواند به طور دینامیک تغییر کند."

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

تکنیک‌های دستکاری DOM:

  • ایجاد و تغییر عناصر
  • مدیریت رویدادها
  • مدیریت سبک و ویژگی‌ها
  • تولید محتوای دینامیک
  • سازگاری با مرورگرهای مختلف

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

8. مدیریت برنامه‌نویسی ناهمزمان

"برنامه‌نویسی ناهمزمان این امکان را می‌دهد که انتظار برای عملیات طولانی‌مدت را بدون قفل کردن کل برنامه بیان کنیم."

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

الگوهای برنامه‌نویسی ناهمزمان:

  • وعده‌ها
  • نحو async/await
  • حلقه‌های رویداد
  • توابع بازگشتی
  • مدیریت خطا در زمینه‌های ناهمزمان

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

9. توسعه کد ماژولار و کارآمد

"ماژول‌ها به برنامه‌های بزرگ ساختار می‌دهند و کد را به قطعاتی با رابط‌ها و وابستگی‌های واضح تقسیم می‌کنند."

سازماندهی کد. سیستم‌های ماژولار جاوااسکریپت به توسعه‌دهندگان این امکان را می‌دهند که نرم‌افزارهای قابل نگهداری و مقیاس‌پذیرتری ایجاد کنند و برنامه‌های پیچیده را به قطعات کوچک‌تر و قابل مدیریت با مسئولیت‌های واضح تقسیم کنند.

اصول طراحی ماژولار:

  • نحو ماژول ES6
  • مدیریت وابستگی
  • کپسوله‌سازی
  • قابلیت استفاده مجدد کد
  • مدیریت فضای نام

معماری نرم‌افزار. ماژولار کردن مؤثر کلید ایجاد سیستم‌های نرم‌افزاری بزرگ و قابل نگهداری است که می‌توانند در طول زمان تکامل یابند.

10. ایجاد زبان‌های خاص دامنه و مفسرها

"ساخت زبان برنامه‌نویسی خودتان به طرز شگفت‌انگیزی آسان است (به شرطی که هدف‌تان خیلی بالا نباشد)."

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

تکنیک‌های پیاده‌سازی زبان:

  • تجزیه
  • درخت‌های نحو انتزاعی
  • استراتژی‌های ارزیابی
  • مدیریت دامنه
  • تفسیر در زمان اجرا

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

آخرین به‌روزرسانی::

نقد و بررسی

4.15 از 5
میانگین از 3k+ امتیازات از Goodreads و Amazon.

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

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

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

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Unlock Unlimited Listening
🎧 Listen while you drive, walk, run errands, or do other activities
2.8x more books Listening Reading
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Jan 25,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to summaries
12,000+ hours of audio
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
30,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →