من میدانم که هیچ نمیدانم.
بررسی پروتوتایپ (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
مطلبی دیگر از این انتشارات
بازآوری پیام مخفی ساتوشی از جنسیس بلاک
مطلبی دیگر از این انتشارات
چطوری والت متامسک (MetaMask) رو به جای اتریوم به بایننس وصل کنیم؟
مطلبی دیگر از این انتشارات
به طور کلی NFT چیست و چه کاربردهایی دارد؟