ویرگول
ورودثبت نام
Hossein Shahmohammadi
Hossein Shahmohammadiمن می‌دانم که هیچ نمی‌دانم.
Hossein Shahmohammadi
Hossein Shahmohammadi
خواندن ۱ دقیقه·۴ سال پیش

بررسی پروتوتایپ (Prototype) در جاوااسکریپت

وقتی آبجکت‌ها توی جاوااسکریپت به وجود میان، یک سری پراپرتی‌ها و متدها رو از یک آبجکت به اسم prototype به ارث می‌برن. آبجکت ‌prototype مثل یک طرح و الگو هست برای بقیه آبجکت‌ها.

برای مثال همه رشته‌ها چند متد پیش‌فرض مثل ()split() ،replace و یک پراپرتی به اسم length دارن. وجود این پراپرتی‌ها و متدها به این دلیل هست که هنگام ساخته شدن یک رشته، متدها و پراپرتی‌ها از آبجکت String.prototype به ارث برده میشن. بنابراین اگه ما آبجکت String.prototype رو ویرایش کنیم و یا به اون متد و پراپرتی اضافه کنیم، این متدها و پراپرتی‌ها توی همه‌ی رشته‌های دیگه وجود خواهد داشت.

توی کد زیر من یک متد به prototype آبجکت String اضافه کردم به اسم limit. این متد توی همه‌ی رشته‌ها وجود خواهد داشت:

String.prototype.limit = function (length) { return this.length > length ? this.substring(0, length) + "..." : this; }

و به صورت زیر ازش استفاده می‌کنیم:

var str = "JavaScript is often described as a prototype-based language" console.log(str.limit(20)); // JavaScript is often ...


منبع:

https://www.w3schools.com/js/js_object_prototypes.asp

https://www.geeksforgeeks.org/prototype-in-javascript/

https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object_prototypes

https://stackoverflow.com/questions/7463658/how-to-trim-a-string-to-n-chars-in-javascript

https://dev.to/macmacky/70-javascript-interview-questions-5gfi

prototypeجاوااسکریپتبرنامه نویسیپروتوتایپ
۱۰
۰
Hossein Shahmohammadi
Hossein Shahmohammadi
من می‌دانم که هیچ نمی‌دانم.
جامعه سالیدیتی ایران
جامعه سالیدیتی ایران
هدف از ایجاد این انتشارات کنارهم جمع کردن و آشنا شدن با علاقه مندان تکنولوژی بلاک چین و همچنین توسعه دهندگان سالیدیتی در ایران است. -------------------- در کانال تلگرامی به ما بپیوندید t.me/ir_solidity ---------------------- صفحه من در ویرگول : https://virgool.io/@HShah
شاید از این پست‌ها خوشتان بیاید