Master the World's Most-Used Programming Language
David Flanagan

#JavaScript
#Definitive_Guide
#JSON
#Node.js
#web_developers
#async
#data_structures
🚀 جاوااسکریپت زبان برنامهنویسی وب هست و امروزه بیشتر از هر زبان دیگهای توسط توسعهدهندههای نرمافزار استفاده میشه. این کتاب که نزدیک به ۲۵ ساله جزو پرفروشترینهاست، همیشه راهنمای اصلی برنامهنویسای جاوااسکریپت بوده.
🔥 ویرایش هفتم کتاب کاملاً بهروز شده تا نسخه ۲۰۲۰ جاوااسکریپت رو پوشش بده و فصلهای جدیدی در مورد کلاسها، ماژولها، ایترتورها، جنریتورها، پرامیسها، async/await و فرابرنامهنویسی (metaprogramming) بهش اضافه شده. توی کل کتاب، پر از مثالهای کد روشنکننده و جذابه که حسابی بهتون کمک میکنه.
🎯 این کتاب هم برای برنامهنویساییه که میخوان جاوااسکریپت یاد بگیرن، و هم برای توسعهدهندههای وبیه که میخوان درک و تسلطشون رو به سطح بالاتری برسونن. کتاب با توضیح دقیق خود زبان جاوااسکریپت، از پایه و اساس، شروع میکنه و بعد روی این پایه، پلتفرم وب و Node.js رو توضیح میده.
✅ موضوعاتی که در این کتاب پوشش داده میشن:
async/awaitفصل ۱: مقدمهای بر جاوااسکریپت
فصل ۲: ساختار واژگانی (Lexical Structure)
فصل ۳: انواع، مقادیر و متغیرها
فصل ۴: عبارات و عملگرها
فصل ۵: دستورات (Statements)
فصل ۶: اشیاء (Objects)
فصل ۷: آرایهها (Arrays)
فصل ۸: توابع (Functions)
فصل ۹: کلاسها (Classes)
فصل ۱۰: ماژولها (Modules)
فصل ۱۱: کتابخانه استاندارد جاوااسکریپت
فصل ۱۲: ایترتورها و جنریتورها
فصل ۱۳: جاوااسکریپت ناهمگام (Asynchronous)
فصل ۱۴: فرابرنامهنویسی (Metaprogramming)
فصل ۱۵: جاوااسکریپت در مرورگرهای وب
فصل ۱۶: جاوااسکریپت سمت سرور با Node
فصل ۱۷: ابزارها و افزونههای جاوااسکریپت
جاوااسکریپت زبان برنامهنویسی وب هست. اکثریت قریب به اتفاق وبسایتها از جاوااسکریپت استفاده میکنن و تمام مرورگرهای وب مدرن—روی دسکتاپ، تبلت و گوشی—مفسرهای جاوااسکریپت رو در خودشون دارن، که این موضوع جاوااسکریپت رو به گستردهترین زبان برنامهنویسی مستقر شده در تاریخ تبدیل کرده. در دهه گذشته، Node.js برنامهنویسی جاوااسکریپت رو خارج از مرورگرهای وب ممکن کرد و موفقیت چشمگیر Node به این معنیه که جاوااسکریپت حالا پراستفادهترین زبان برنامهنویسی در بین توسعهدهندگان نرمافزار هم هست. چه تازه شروع کرده باشید و چه در حال حاضر به صورت حرفهای از جاوااسکریپت استفاده میکنید، این کتاب به شما کمک میکنه تا بر این زبان مسلط بشید.
اگر با زبانهای برنامهنویسی دیگه آشنا هستید، شاید بد نباشه بدونید که جاوااسکریپت یک زبان سطح بالا، پویا (dynamic) و مفسری (interpreted) است که برای سبکهای برنامهنویسی شیءگرا و تابعی کاملاً مناسبه. متغیرهای جاوااسکریپت بدون نوع (untyped) هستن. سینتکسش یه جورایی بر اساس جاواست، اما این دو زبان هیچ ربط دیگهای به هم ندارن.
جاوااسکریپت توابع درجه اول (first-class functions) خودش رو از زبان Scheme و وراثت مبتنی بر پروتوتایپ (prototype-based inheritance) رو از زبان کمتر شناختهشدهی Self به ارث برده. اما اصلاً لازم نیست هیچکدوم از این زبانها رو بلد باشید یا با این اصطلاحات آشنا باشید تا بتونید از این کتاب استفاده کنید و جاوااسکریپت رو یاد بگیرید.
این کتاب زبان جاوااسکریپت و APIهای جاوااسکریپتی که توسط مرورگرهای وب و Node پیادهسازی شدن رو پوشش میده. من این کتاب رو برای خوانندههایی نوشتم که یه کم تجربه برنامهنویسی قبلی دارن و میخوان جاوااسکریپت یاد بگیرن و همچنین برای برنامهنویسهایی که همین الان هم از جاوااسکریپت استفاده میکنن اما میخوان درکشون رو به سطح جدیدی ببرن و واقعاً روی زبان مسلط بشن. هدف من با این کتاب اینه که زبان جاوااسکریپت رو به طور جامع و قطعی مستند کنم و یک مقدمهی عمیق برای مهمترین APIهای سمت کلاینت و سمت سرور که در دسترس برنامههای جاوااسکریپت هستن، ارائه بدم. در نتیجه، با یک کتاب طولانی و پرجزئیات طرف هستید. اما امیدوارم که مطالعهی دقیقش براتون حسابی ارزشمند باشه و زمانی که برای خوندنش میذارید، به راحتی در قالب بهرهوری بالاتر در برنامهنویسی جبران بشه.
دیوید فلنگن (David Flanagan) یک برنامهنویس کامپیوتره که بیشتر وقتش رو صرف نوشتن در مورد جاوااسکریپت و جاوا میکنه. کتابهای او در انتشارات O’Reilly شامل Java in a Nutshell، Java Examples in a Nutshell، Java Foundation Classes in a Nutshell، JavaScript: The Definitive Guide و JavaScript Pocket Reference میشه. دیوید دارای مدرک علوم و مهندسی کامپیوتر از مؤسسه فناوری ماساچوست (MIT) است. او با همسر و فرزندانش در شمال غربی اقیانوس آرام ایالات متحده، بین شهرهای سیاتل واشنگتن و ونکوور بریتیش کلمبیا زندگی میکنه.
JavaScript is the programming language of the web and is used by more software developers today than any other programming language. For nearly 25 years this best seller has been the go-to guide for JavaScript programmers. The seventh edition is fully updated to cover the 2020 version of JavaScript, and new chapters cover classes, modules, iterators, generators, Promises, async/await, and metaprogramming. You’ll find illuminating and engaging example code throughout.
This book is for programmers who want to learn JavaScript and for web developers who want to take their understanding and mastery to the next level. It begins by explaining the JavaScript language itself, in detail, from the bottom up. It then builds on that foundation to cover the web platform and Node.js.
Topics include:
• Types, values, variables, expressions, operators, statements, objects, and arrays
• Functions, classes, modules, iterators, generators, Promises, and async/await
• JavaScript’s standard library: data structures, regular expressions, JSON, i18n, etc.
• The web platform: documents, components, graphics, networking, storage, and threads
• Node.js: buffers, files, streams, threads, child processes, web clients, and web servers
• Tools and language extensions that professional JavaScript developers rely on.
Table of Contents
Chapter 1. Introduction to JavaScript
Chapter 2. Lexical Structure
Chapter 3. Types, Values, and Variables
Chapter 4. Expressions and Operators
Chapter 5. Statements
Chapter 6. Objects
Chapter 7. Arrays
Chapter 8. Functions
Chapter 9. Classes
Chapter 10. Modules
Chapter 11. The JavaScript Standard Library
Chapter 12. Iterators and Generators
Chapter 13. Asynchronous JavaScript
Chapter 14. Metaprogramming
Chapter 15. JavaScript in Web Browsers
Chapter 16. Server-Side JavaScript with Node
Chapter 17. JavaScript Tools and Extensions
JavaScript is the programming language of the web. The overwhelming majority of websites use JavaScript, and all modern web browsers—on desktops, tablets, and phones—include JavaScript interpreters, making JavaScript the most-deployed programming language in history. Over the last decade, Node.js has enabled JavaScript programming outside of web browsers, and the dramatic success of Node means that JavaScript is now also the most-used programming language among software developers. Whether you’re starting from scratch or are already using JavaScript professionally, this book will help you master the language.
If you are already familiar with other programming languages, it may help you to know that JavaScript is a high-level, dynamic, interpreted programming language that is well-suited to object-oriented and functional programming styles. JavaScript’s variables are untyped. Its syntax is loosely based on Java, but the languages are otherwise unrelated.
JavaScript derives its first-class functions from Scheme and its prototype-based inheritance from the little-known language Self. But you do not need to know any of those languages, or be familiar with those terms, to use this book and learn JavaScript.
This book covers the JavaScript language and the JavaScript APIs implemented by web browsers and by Node. I wrote it for readers with some prior programming experience who want to learn JavaScript and also for programmers who already use JavaScript but want to take their understanding to a new level and really master the language. My goal with this book is to document the JavaScript language comprehensively and definitively and to provide an in-depth introduction to the most important client-side and server-side APIs available to JavaScript programs. As a result, this is a long and detailed book. My hope, however, is that it will reward careful study and that the time you spend reading it will be easily recouped in the form of higher programming productivity.
David Flanagan is a computer programmer who spends most of his time writing about JavaScript and Java. His books with O'Reilly include Java in a Nutshell, Java Examples in a Nutshell, Java Foundation Classes in a Nutshell, JavaScript: The Definitive Guide, and JavaScript Pocket Reference. David has a degree in computer science and engineering from the Massachusetts Institute of Technology. He lives with his wife and children in the U.S. Pacific Northwest bewteen the cities of Seattle, Washington and Vancouver, British Columbia.









