دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Reginald Braithwaite
سری:
ناشر: LeanPub
سال نشر: 2014
تعداد صفحات: 0
زبان: English
فرمت فایل : MOBI (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 48 مگابایت
در صورت تبدیل فایل کتاب JavaScript Spessore به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب جاوا اسکریپت Spessore نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
جاوا اسکریپت Spessore «تفکر در اشیاء» را جشن میگیرد و با اصول اولیه شروع میکند، بر اساس آنها ساخته میشود و سپس راههای جدیدی برای تفکر در مورد برنامهنویسی شیگرا را بررسی میکند. برای اینکه واقعاً در اشیا فکر کنید، باید خود را از تفکر در مورد ویژگی های یک زبان رها کنید، زیرا بیش از یک راه برای "انجام" اشیا و برنامه نویسی شی گرا وجود دارد. بیایید چند زبان دیگر را با جاوا اسکریپت مقایسه کنیم: Smalltalk دارای اشیاء است، اما متدها و متغیرهای نمونه یک شی Smalltalk از محتویات یک ظرف Smalltalk مانند یک فرهنگ لغت یا آرایه متمایز است. اشیاء جاوا اسکریپت دیکشنری هستند و متدهای یک شی و متغیرهای نمونه مشابه محتوای آن هستند. روبی دارای کلاسها، ماژولها، متاکلاسها و کلاسهای ویژه است. جاوا اسکریپت فقط دارای اشیایی است که یا با زنجیره اولیه یا به عنوان مقادیر نمونه به یکدیگر مرتبط هستند. هنگامی که یک متد را در Common Lisp فراخوانی می کنید، ممکن است علاوه بر کنترل کننده متد، چندین شیاطین "قبل"، "پس از" یا "در اطراف" را فراخوانی کنید. در جاوا اسکریپت، هر متد دقیقاً توسط یک تابع مدیریت می شود. پس از بارگذاری بایت کدهای کلاس ها، متدهای جاوا نمی توانند به کلاس ها اضافه یا حذف شوند. روش های جاوا اسکریپت را می توان در هر زمان اضافه و حذف کرد. این چهار "تمایز" بین زبان های دیگر و جاوا اسکریپت نیز چهار ستون معنایی زبان برنامه نویسی شی گرا هستند: اشیا چیزهایی هستند که ما برای کپسوله کردن داده ها و رفتار با افشای روش ها (و در صورت اختیاری ویژگی ها) استفاده می کنیم. متا اشیاء مانند کلاس ها یا نمونه های اولیه اشیایی هستند که رفتار سایر اشیاء را تعریف می کنند. پروتکل ها قوانینی هستند که به وسیله آنها متوجه می شویم که وقتی پیامی به یک شی می فرستیم دقیقا چه اتفاقی می افتد. Binding Times قوانینی هستند که تعیین می کنند چه زمانی می توان رفتار اشیا، فرااشیاء و پروتکل ها را اضافه، حذف یا تغییر داد. هنگامی که ما واقعاً «در اشیا فکر میکنیم»، در حال فکر کردن در اشیا، در فرااشیاء و پروتکلها فکر میکنیم. و برای اندازه گیری خوب، ما همچنین به این فکر می کنیم که چه زمانی این چیزها "مبند" هستند. و به همین دلیل است که ماموریت جاوا اسکریپت Spessore کاوش اشیا، فرااشیاء، پروتکلها و بررسی پیامدهای مربوط به زمان محدود شدن این رفتارها است. جی (اوپ) اس ممکن است با خود فکر کنید، "این همه چیز بسیار خوب است، اما به نظر می رسد که به طور کلی در مورد برنامه نویسی شی گرا است و واقعاً در مورد جزئیات جاوا اسکریپت نیست. چرا جاوا اسکریپت؟ چرا Lisp یا Smalltalk یا OCaml یا زبان دیگری با ویژگیهای قویتر نیست؟ پاسخ این است که این کتابی است برای برنامه نویسان درباره تفکر در اشیا، تفکری که در هر زبان OO کار می کند. اتفاقاً به جای Lisp در جاوا اسکریپت نوشته میشود، به همان دلیلی که اتفاقاً به جای لاتین به زبان انگلیسی نوشته میشود: زیرا این زبانی است که ما به اشتراک میگذاریم.
JavaScript Spessore celebrates “Thinking in Objects,” starting with the basics, building upon them, and then exploring new ways to think about object-oriented programming. To truly think in objects, you have to liberate yourself from thinking in terms of any one language’s features, because there is more than one way to “do” objects and object-oriented programming. Let’s compare a few other languages to JavaScript: Smalltalk has objects, but a Smalltalk object’s methods and instance variables are distinct from the contents of a Smalltalk container like a dictionary or array. JavaScript’s objects are dictionaries, and an object’s methods and instance variables are the same thing as its contents. Ruby has classes, modules, the metaclasses, and eigenclasses. JavaScript just has objects that are related to each other either with prototype chaining or as instance values. When you invoke a method in Common Lisp, You may also be invoking multiple “before,” “after,” or “around” demons in addition to the method handler. In JavaScript, each method is handled by exactly one function. Java’s methods cannot be added to or removed from classes once their bytecodes have been loaded. JavaScript’s methods can be added and removed at any time. These four “distinctions” between other languages and JavaScript are also the four pillars of object-oriented programming language semantics: Objects are the things we use to encapsulate data and behaviour by exposing methods (and optionally properties). Metaobjects like classes or prototypes are objects that define the behaviour of other objects. Protocols are the rules by which we figure out what exactly happens when we send a message to an object. Binding Times are the rules that determine when the behaviour of objects, metaobjects, and protocols can be added, removed, or changed. When we are truly “thinking in objects,” we are thinking in objects, thinking in metaobjects, and thinking in protocols. And for good measure, we are also thinking of when these things are “bound.” And that’s why JavaScript Spessore’s mission is to explore objects, metaobjects, protocols, and to examine the implications of when these behaviours are bound. J(oop)S You may be thinking to yourself, “This is all very well, but it sounds like it is about object-oriented programming in general and not really about the specifics in JavaScript. Why JavaScript? Why not Lisp or Smalltalk or OCaml or some other language with more powerful features?” The answer is that this is a book for programmers about thinking in objects, thinking that works in any OO language. It happens to be written in JavaScript instead of Lisp for the same reason that it happens to be written in English instead of Latin: Because it’s a language we share.